Springboot第六课——整合模板引擎

这里我们整合模板引擎FreeMarker

1.引入依赖

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

2.配置模板引擎

在resource下创建application.yml文件,配置如下:

#FreeMarker 配置
spring:
  freemarker:
    suffix: .html  #后缀名,默认是.ftl
    content-type: text/html
    enabled: true
    cache: false #缓存 false
    template-loader-path:
    - classpath:/templates/    #模板加载路径
    charset: UTF-8
    request-context-attribute: request #请求,类似jsp中的内置对象

3. 在resource下创建templates文件,用来存放我们的html文件

templates下创建form.html 及 resultpage.html 分别如下:

form.html 主要内容

<form action="/submiturl">
 <input name = "name" type = "text" value = "xyp"></input>
 <input name = "passWord" type = "text" value = "123"></input>
 <input type = "submit"></input>
 </form>

 resultpage.html主要内容:

<body>
显示对象:
 ${user.name}
 ${user.passWord}
</br>

遍历List:</br>
<#list list as item>
${item.name}</br>
</#list>

</br>
遍历Map:</br>
<#list map?keys as k>
${k}:${map[k]}</br>
</#list>

</br>
自定义变量:</br>
<#assign num = 17><#--自定义变量-->
<#if num gt 20 >    <#--判断条件 -->
     20        <#--判断成立输出的内容-->
<#elseif num == 18>
  成年了
<#elseif num lt 18>
未成年
<#else>
        你成年了
</#if>
</br>
时间类型取值:</br>
${time?string("yyyy-MM-dd")}
</body>

4.创建controller

@Controller
public class TemplateController {
	private static final String RESULT_PAGE = "resultpage";
	private static final String FORM_PAGE = "form";

	@RequestMapping("/toForm")
	public String toForm() {
		return FORM_PAGE;
	}

	@RequestMapping("/submiturl")
	public ModelAndView toPage(User user) {
		ModelAndView mv = new ModelAndView();
		mv.setViewName(RESULT_PAGE);// 返回的页面

		// 对象
		mv.addObject("user", user);

		// list
		User u1 = new User();
		u1.setName("xh");
		u1.setPassWord("222");
		List<User> list = new ArrayList<>();
		list.add(user);
		list.add(u1);
		mv.addObject("list", list);

		// map
		Map<String, String> map = new HashMap<>();
		map.put("中国", "北京");
		map.put("中国", "贵州");

		mv.addObject("map", map);

		// time
		Date time = new Date();
		mv.addObject("time", time);
		return mv;
	}
}

5.验证

a.进入form页面:

 

b.提交结果页面如下:

 

可以看到参数成功传到后台,后台的数据成功显示到前端,值得注意的是form表单的属性要和后端的对象属性相对应。

更多FreeMarker用法请参考:http://freemarker.foofun.cn/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值