3.4 配置方式实现
JspInit.java
@Configuration
public class JspInit {
@Bean
public InternalResourceViewResolver internalResourceViewResolver(){
InternalResourceViewResolver res = new InternalResourceViewResolver();
//resources/templates/index.jsp 编译部署后
//WEB-INF/classes/templates/index.jsp
res.setPrefix("/WEB-INF/classes/templates/");
res.setSuffix(".jsp");
return res;
}
}
FreemarkerInit.java
@Configuration
public class FreemarkerInit {
@Bean
public FreeMarkerConfigurer freeMarkerConfigurer() {
FreeMarkerConfigurer cfg = new FreeMarkerConfigurer();
cfg.setTemplateLoaderPath("classpath:/templates/");
cfg.setDefaultEncoding("utf-8");
return cfg;
}
@Bean
public FreeMarkerViewResolver freeMarkerViewResolver() {
var res = new FreeMarkerViewResolver();
res.setContentType("text/html;charset=utf-8");
res.setCache(false);
res.setSuffix(".ftl");
res.setOrder(0);
return res;
}
}
ThymeleafInit.java
@Configuration
public class ThymeleafInit {
@Bean
public SpringResourceTemplateResolver templateResolver() {
SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
templateResolver.setPrefix("classpath:/templates/");
templateResolver.setSuffix(".html");
templateResolver.setCharacterEncoding("utf-8");
templateResolver.setTemplateMode(TemplateMode.HTML);
templateResolver.setCacheable(false);
return templateResolver;
}
@Bean
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver());
templateEngine.setEnableSpringELCompiler(true);
return templateEngine;
}
@Bean
public ThymeleafViewResolver viewResolver() {
ThymeleafViewResolver view = new ThymeleafViewResolver();
view.setCharacterEncoding("utf-8");
view.setOrder(1);
view.setTemplateEngine(templateEngine());
return view;
}
}
依赖需要
<!-- jsp jstl el -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- springmvc 框架开发,需要添加如下两个依赖jar freemarker-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>5.3.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf -->
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>3.0.12.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf-spring5 -->
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId>
<version>3.0.12.RELEASE</version>
</dependency>
<!-- springmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.8</version>
</dependency>