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 我们将第一时间删除。

相关素材