简介
SpringBoot建议我们使用模板引擎,不建议使用JSP。 模板引擎:可以实现动态页面静态化 常见的模板引擎技术有:velocity、Thymeleaf、Freemarker
示例 第一步:创建Maven项目,添加如下依赖
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-freemarker
第二步:修改application.yml:
spring:
freemarker:
suffix: .ftl
第三步:在resources/templates目录下创建模板文件fm.ftl:
- fm.ftl
Freemarker页面
${name} --- ${age}
- demo.ftl
${k}
${item}
${array[1]}
${dept}
${dept.dname}
${list[2]}
${item}
${deptList[1].dname}
${dept_index} ${dept.dname}
${k} ${map[k]} ${map[k].deptno}
第四步:创建Controller:
@Controller
public class TestController {
@RequestMapping("/fun")
public String fun(Model model){
model.addAttribute("name","zhangsan");
model.addAttribute("age",18);
return "fm";
}
@RequestMapping("/fun1")
public ModelAndView fun1(ModelAndView mav){
mav.setViewName("demo");
mav.addObject("k","asdf");
mav.addObject("array",new int[]{11,22,33,44});
mav.addObject("dept",new Dept(10,"sales","newYork"));
List list = Arrays.asList("aa","bb","cc");
mav.addObject("list",list);
List deptList = Arrays.asList(new Dept(10, "sales", "beijing"),
new Dept(10, "research", "guangzhou"),
new Dept(10, "account", "hangzhou"),
new Dept(10, "operation", "shanghai"));
mav.addObject("deptList",deptList);
Map map = new HashMap();
map.put("aa", new Dept(10, "sales", "beijing"));
map.put("bb",new Dept(20, "research", "guangzhou"));
map.put("cc",new Dept(30, "account", "hangzhou"));
map.put("dd",new Dept(40, "operation", "shanghai"));
mav.addObject("map",map);
System.out.println("****");
return mav;
}
}
结果: