FreeMarker整合到Spring中

来源:互联网 发布:ubuntu top命令详解 编辑:程序博客网 时间:2024/06/05 14:41

1、添加FreeMarker依赖,

               <!-- FreeMarker依赖 开始--><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.23</version></dependency><!-- FreeMarker依赖 结束-->

2、在spring-servlet.xml中配置FreeMarker的视图解析器

      <!-- ↓↓↓↓FreeMarker 视图解析器 ↓↓↓↓ --><beanclass="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"p:templateLoaderPath="/WEB-INF/ftl/"><property name="freemarkerSettings"><props><!-- classic_compatible设置为true当碰到null时直接返回一个空白字符串,false时遇到null会抛出异常 --><prop key="classic_compatible">true</prop></props></property></bean><beanclass="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"><property name="order" value="0"></property><!-- 配置ftl路径前缀 --><property name="suffix" value=".ftl"></property><property name="contentType" value="text/html;charset=utf-8"></property></bean><!-- ↑↑↑↑FreeMarker 视图解析器 ↑↑↑↑ -->
3、在WEB-INF下创建ftl文件

4、编辑controller返回ftl视图文件

        @RequestMapping("goftlList.do")public String testftllist(ModelMap model) {Role r = new Role();r.setRolecode("ADMIN");r.setRolename("管理者");r.setRoleid(UniqueSeq.shortUUID());Role r1 = new Role();r1.setRolecode("ADMIN");r1.setRolename("管理者");r1.setRoleid(UniqueSeq.shortUUID());List<Role> list=new ArrayList<Role>();list.add(r);list.add(r1);model.addAttribute("rList", list);//<#list rList as r>return "testftl";//返回WEB-INF/ftl/testftl.ftl}

5、编辑视图:


<html><body><#--<h3>${roles.getRoleid()}<h3><h3>${roles.getRolename()}<h3>--><#-- ftl文件内容填充和jsp差不多,ftl也可以引用js文件--><#list rList as r><h3>${r.getRoleid()}<h3><h3>${r.getRolename()}<h3></#list></body></html>

6、给eclipse添加FTL文本编辑器--可以自动提示功能

插件包地址:链接:https://pan.baidu.com/s/1gfKVSzT 密码:t6i5

安装步骤:

解压,把features和plugins的东东加到elispe的features和plugins下,重启eclispe

打开plugins--->找到

用新的freemarker-2.3.15.jar替换之,把MANIFEST.MF里的Bundle-ClassPath也改为freemarker-2.3.15.jar
然后关闭ftl文件重新打开就可以了。会有颜色区分