springboot使用freemarker的入门Demo

1.创建一个maven web项目

2.添加所需要的依赖

<parent>
  	<groupId>org.springframework.boot</groupId>
  	<artifactId>spring-boot-starter-parent</artifactId>
  	<version>2.0.3.RELEASE</version>
</parent>

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

3.写一个接口,返回到src/main/resources/templates/test.ftl页面(freemarker默认模板后缀为ftl,默认路径是src/main/resources/templates,可以在application.properties中更改配置)

@RestController
@RequestMapping("/test")
public class Test {
	
	@SuppressWarnings("all")
	@RequestMapping("/fun1")
	public ModelAndView fun(HttpServletRequest request) {
		ModelAndView mv = new ModelAndView("/test");
		mv.addObject("name","vhukze");
		mv.addObject("sex",1);
		ArrayList list = new ArrayList();
		list.add("1");
		list.add("2");
		list.add("3");
		mv.addObject("list", list);
		return mv;
	}
}

配置信息

## Freemarker 配置
##模版存放路径(默认为 classpath:/templates/)
spring.freemarker.template-loader-path=classpath:/templates/
##是否生成缓存,生成环境建议开启(默认为true)
spring.freemarker.cache=false
##编码
spring.freemarker.charset=UTF-8
spring.freemarker.check-template-location=true
##content-type类型(默认为test/html)
spring.freemarker.content-type=text/html
## 设定所有request的属性在merge到模板的时候,是否要都添加到model中(默认为false)
spring.freemarker.expose-request-attributes=false
##设定所有HttpSession的属性在merge到模板的时候,是否要都添加到model中.(默认为false)
spring.freemarker.expose-session-attributes=false
##RequestContext属性的名称(默认为-)
spring.freemarker.request-context-attribute=request
##模板后缀(默认为.ftl)
spring.freemarker.suffix=.html

4.书写test.ftl文件

<html>
    <body>
        <h2>Hello World!</h2>
        ${name}
        <#if sex=1>
            女
        <#else>
            男
        </#if>
        <#list list as num>
	        ${num}
        </#list>
    </body>
</html>

跟EL表达式一样的取值 ${}

判断语句 <#if>  <#elseif > <#else> </#if>

遍历集合 <#list (域中的变量名) as (取出值的临时变量名)>  </#list>

这个就相当于java中的forEach语句

for (String num : list) {
	System.out.println(num);
}

访问接口方法映射路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿演

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值