SpringBoot | 第十六章:web应用开发 (2)

关于一些Freemarker的语法这里就不说明了,大家可到官网查看下:https://freemarker.apache.org/docs/index.html或者,中文参考(可能版本不是最新):

Thymeleaf支持

Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web环境中的应用开发。Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。你可以使用它创建经过验证的XML与HTML模板。相对于编写逻辑或代码,开发者只需将标签属性添加到模板中即可。接下来,这些标签属性就会在DOM(文档对象模型)上执行预先制定好的逻辑。

0.pom依赖

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

1.application.properties配置加入相关配置:

# 启用缓存:建议生产开启 spring.thymeleaf.cache=false # 建议模版是否存在 spring.thymeleaf.check-template-location=true # Content-Type 值 spring.thymeleaf.content-type=text/html # 是否启用 spring.thymeleaf.enabled=true # 模版编码 spring.thymeleaf.encoding=UTF-8 # 应该从解析中排除的视图名称列表(用逗号分隔) spring.thymeleaf.excluded-view-names= # 模版模式 spring.thymeleaf.mode=HTML5 # 模版存放路径 spring.thymeleaf.prefix=classpath:/templates/ # 模版后缀 spring.thymeleaf.suffix=.html

2.编写控制层

ThymeleafController.java:

@Controller @RequestMapping("/thymeleaf") public class ThymeleafController { // 正常和springmvc设置返回参数是意义的用法了 @GetMapping("/map") public String index(String name, ModelMap map) { map.addAttribute("name", name); map.addAttribute("from", "lqdev.cn"); // 模版名称,实际的目录为:src/main/resources/templates/thymeleaf.html return "thymeleaf"; } @GetMapping("/mv") public ModelAndView index(String name) { ModelAndView mv = new ModelAndView(); mv.addObject("name", name); mv.addObject("from", "lqdev.cn"); // 模版名称,实际的目录为:src/main/resources/templates/thymeleaf.html mv.setViewName("thymeleaf"); return mv; } }

3.编写模版文件

thymeleaf.html

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8" /> <title>thymeleaf简单示例</title> </head> <body> <h1>Hello thymeleaf</h1> <!-- 这里注意:拼接时 变量要单独使用${param},其他的常量使用''包裹 --> <h2 th:text="'名称:'+${name}+',来自:'+${from}">默认值</h2> </body> </html>

4.启动应用,访问::8080/thymeleaf/mv?name=oKong 或者 :8080/thymeleaf/map?name=oKong 就能查看页面了。

image

JSP支持

虽然SpringBoot官方已经不建议使用jsp了。但在一些老的项目迁移时,jsp的支持是毋庸置疑的。所以还是需要兼容的。。

0.pom依赖加入

<!-- spring boot 内置tomcat jsp支持 --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency>

1.application.properties配置加入相关配置:

#jsp 支持 spring.mvc.view.suffix=.jsp spring.mvc.view.prefix=http://www.likecs.com/WEB-INF/jsp/

2.编写控制层

JspController.java

@Controller @RequestMapping("/jsp") public class JspController { //正常和springmvc设置返回参数是意义的用法了 @GetMapping("/map") public String index(String name,ModelMap map) { map.addAttribute("name", name); map.addAttribute("from", "lqdev.cn"); //模版名称,实际的目录为:src/main/webapp/jsp/index.html return "index"; } @GetMapping("/mv") public ModelAndView index(String name) { ModelAndView mv = new ModelAndView(); mv.addObject("name", name); mv.addObject("from", "lqdev.cn"); //模版名称,实际的目录为:src/main/webapp/jsp/index.html mv.setViewName("index"); return mv; } }

3.webapp/WEB-INF/jsp目录下编写jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charsetUTF-8"> <title>jsp示例</title> </head> <body> <h1>Hello Jsp</h1> <h2 >名称:${name},来自:${from}</h2> </body> </html>

5.启动应用,访问::8080/jsp/mv?name=oKong 或者 :8080/jsp/map?name=oKong 就能查看页面了。

image

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygfxw.html