spring boot引入freemarker模板
简单步骤
- 修改
pom.xml,增加freemarker所需的jar包…… <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> …… - 修改
application.properties文件,添加freemarker相关配置(在resources资源文件夹下新建templates文件夹)…… # view # 整合freemarker相关配置 # 是否开启freemarker缓存,本地建议为false,生产上建议为true spring.freemarker.cache=false spring.freemarker.charset=utf-8 # 指定HttpServletRequest的属性是否可以覆盖controller的model的同名项 spring.freemarker.allow-request-override=false # 指定HttpSession的属性是否可以覆盖controller的model的同名项 spring.freemarker.check-template-location=true # 类型 spring.freemarker.content-type=text/html # 设定所有request的属性在merge到模板的时候,是否要都添加到model中 spring.freemarker.expose-request-attributes=true # 设定所有HttpSession的属性在merge到模板的时候,是否要都添加到model中 spring.freemarker.expose-session-attributes=true # 文件后缀 spring.freemarker.suffix=.ftl #spring.freemarker.suffix=.html # 路径 spring.freemarker.template-loader-path=classpath:/templates/ …… - 在templates文件夹下添加模板文件index.ftl
随便的html文件都可以 - 在Controller文件中增加对应的访问
package top.z_f.simpleerp.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import top.z_f.simpleerp.App; /** * 页面接口访问 * @author zhangzhen * */ @Controller @RequestMapping("web") public class HelloWebController { private final static Logger logger = LoggerFactory.getLogger(App.class); @RequestMapping("/index") public String index() { logger.info("访问Web页面,无参数"); return "index"; } @RequestMapping("/userManage") public String userManage(ModelMap map) { logger.info("访问Web页面,自定义参数"); // map.put("userName", "状态不佳,头痛、恶心、难受。。。"); map.put("userName", "2019-06-03 freemarker访问成功,这个web的模板是不是相当于建立好了。。。鼓掌。。。"); // 在templates文件夹下新建user_manage,在目录user_manage下建userTest.ftl,内容如下 // 内容 = ${userName} return "user_manage/userTest"; } } - @RestController和@Controller区别
- @RestController:用于api类型的访问,返回json串
- @Controller:用于web网页类型的访问,返回到某个页面
- 上面的访问会出现无法访问静态文件的问题(templates下新建的static文件夹),需要设置静态资源管理配置
package top.z_f.simpleerp.config.web; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; /** * * @author zhangzhen * @date 2019-06-02 * */ @Configuration public class WebMvcConfig extends WebMvcConfigurationSupport { /** * * 设置静态资源访问路径 * * 将所有/static/** 访问都映射到classpath:/static/ 目录下 */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); } } - 至此,就可以访问ftl模板,并且在模板中加载js、css和相关图片了。访问地址
http://localhost:8089/web/index