springboot+freemarker 和静态资源路径

本文介绍了如何在SpringBoot项目中配置Freemarker模板引擎,并管理静态资源路径。通过添加依赖,设置application.properties文件,以及创建static和templates目录,确保静态文件和页面模板能被正确读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

依赖

        <dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter-freemarker</artifactId>
		</dependency>

application.properties

########################################################
###FREEMARKER (FreeMarkerAutoConfiguration)
########################################################
spring.freemarker.allow-request-override=false
spring.freemarker.cache=false
spring.freemarker.check-template-location=true
spring.freemarker.charset=UTF-8
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.freemarker.expose-spring-macro-helpers=false
#spring.freemarker.prefix=
#spring.freemarker.request-context-attribute=
#spring.freemarker.settings.*=
spring.freemarker.suffix=.html
spring.freemarker.template-loader-path=classpath:/templates/
spring.mvc.static-path-pattern=classpath:/static/**
#comma-separated list
#spring.freemarker.view-names= # whitelist of view names that can be resolved

在resources下创建static,在这里放静态文件
在这里插入图片描述
在resources下创建templates,在这里放页面
在这里插入图片描述
因为有的配置完之后会读取不到静态文件,所以就有了下面

//自定义的静态资源拦截器
public class ResourceInterceptor implements HandlerInterceptor {
	
	@Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {
        return true;
    }
 
    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o,
                           ModelAndView modelAndView) throws Exception {
 
    }
 
    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
                                Object o, Exception e) throws Exception {
 

    }

}
@Configuration
public class ResourceConfig implements WebMvcConfigurer {
	
	 @Override
	    public void addInterceptors(InterceptorRegistry registry) {
	        registry.addInterceptor(new ResourceInterceptor()).excludePathPatterns("/static/**");
	    }
	 
	    @Override
	    //需要告知系统,这是要被当成静态文件的!
	    public void addResourceHandlers(ResourceHandlerRegistry registry) {
	        // 设置文件上传的文件不拦截
//	        registry.addResourceHandler("/upload/**").addResourceLocations("file:"+ TaleUtils.getUplodFilePath()+"upload/");
	        //第一个方法设置访问路径前缀,第二个方法设置资源路径
	        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");

	    }

}

测试类

@Controller
public class testFreemarkerController {
		

	    @RequestMapping("/sysUser")
	    public String user(Model m){
	        
	        return "WeiXin/Sweep-status-1";
	    }
}

页面就不放了,随便写一个就可以,不过下面是根据我的配置静态文件的路径图
在这里插入图片描述

http://localhost:8080/sysUser

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值