springboot项目整合各种类型的模板
发布于 2021-01-06 21:57
springboot项目整合各种类型的模板
第一、控制器不能使用rest的控制器,只能使用一般的控制器@Controller
第二、如果返回值不是视图,则在方法前使用@ResponseBody 返回json数据
第三、返回jsp的时候,添加pom依赖在控制器中添加视图解析器的前缀
@Bean
public InternalResourceViewResolver jspViewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/META-INF/");
viewResolver.setSuffix(".jsp");
viewResolver.setOrder(2);
return viewResolver;
}
如果直接把jsp建立在resource下访问不到,必须要将webapp下WEB-INF下创建jsp
第四、返回html和ftl的视图,使用自己的视图解析器FreeMarkerViewResolver,
public FreeMarkerConfigurer freeMarkerConfigurer() {
String[] templatePaths = { "classpath:/templates/" };
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setTemplateLoaderPaths(templatePaths);
return configurer;
}
=============pom依赖=================
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
=============bean配置===============
@Bean
public FreeMarkerConfigurer freeMarkerConfigurer() {
String[] templatePaths = { "classpath:/templates/" };
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setTemplateLoaderPaths(templatePaths);
return configurer;
}
@Bean
public FreeMarkerViewResolver ftlViewResolver() {
FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();
resolver.setPrefix("");
resolver.setCache(false);
resolver.setSuffix(".ftl");
resolver.setOrder(0);
return resolver;
}
@Bean
public FreeMarkerViewResolver htmlViewResolver() {
FreeMarkerViewResolver resolver = new FreeMarkerViewResolver();
resolver.setPrefix("");
resolver.setCache(false);
resolver.setSuffix(".html");
resolver.setOrder(1);
return resolver;
}
@Bean
public InternalResourceViewResolver jspViewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/META-INF/");
viewResolver.setSuffix(".jsp");
viewResolver.setOrder(2);
return viewResolver;
}
==================控制器=================
@Controller
@RequestMapping("/test")
public class TestController {
@GetMapping("/testHtml")
public String testHtml()
{
return "hellow1";
}
@GetMapping("/testJsp")
public String testJsp()
{
return "hellow2";
}
@GetMapping("/testFtl")
public String testFtl()
{
return "hellow3";
}
@GetMapping("/tetsJsonData")
@ResponseBody
public User tetsJsonData()
{
return new User("23","23");
}
}
本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。
相关素材