6.10 Spring整合

1、maven 坐标

  1. Spring 整合JFinal Template Engine 可以在pom.xml中配置jfinal坐标,也可以配置JFinal Template Engine的独立发布版本坐标,其maven坐标如下:
  1. <dependency>
  2. <groupId>com.jfinal</groupId>
  3. <artifactId>enjoy</artifactId>
  4. <version>3.4</version>
  5. </dependency>

JFinal Template Engine 的独立发布版本 Enjoy 只有 207K 大小,并且无任何第三方依赖。

2、Spring MVC整合

  1. Spring mvc下整合JFinal Template Engine非常简单,只需要配置一个bean即可,如下是具体配置方式:
  1. <bean id="viewResolver" class="com.jfinal.template.ext.spring.JFinalViewResolver">
  2. <!-- 是否热加载模板文件 -->
  3. <property name="devMode" value="true"/>
  4. <!-- 配置shared function,多文件用逗号分隔 -->
  5. <property name="sharedFunction" value="/view/_layout.html, /view/_paginate.html"/>
  6.  
  7. <!-- 是否支持以 #(session.value) 的方式访问 session -->
  8. <property name="sessionInView" value="true"/>
  9. <property name="prefix" value="/view/"/>
  10. <property name="suffix" value=".html"/>
  11. <property name="order" value="1"/>
  12. <property name="contentType" value="text/html; charset=utf-8"/>
  13. </bean>
  1. 更多、更详细的配置项及其说明,可以通过查看JFinalViewResolver头部的注释来了解,在绝大部分情况下,上面的配置项可以满足需求。

3、Spring Boot整合

  1. Spring boot 下整合配置如下:

  1. @Configuration
    public class SpringBootConfig {
    @Bean(name = "jfinalViewResolver")
    public JFinalViewResolver getJFinalViewResolver() {
    JFinalViewResolver jfr = new JFinalViewResolver();
    // setDevMode 配置放在最前面
    jfr.setDevMode(true);

  2. // 使用 ClassPathSourceFactory 从 class path 与 jar 包中加载模板文件
  3. jfr.setSourceFactory(new ClassPathSourceFactory());
  4. // 在使用 ClassPathSourceFactory 时要使用 setBaseTemplatePath
  5. // 代替 jfr.setPrefix(&#34;/view/&#34;)
  6. JFinalViewResolver.engine.setBaseTemplatePath(&#34;/view/&#34;);
  7. jfr.setSuffix(&#34;.html&#34;);
  8. jfr.setContentType(&#34;text/html;charset=UTF-8&#34;);
  9. jfr.setOrder(0);
  10. jfr.addSharedFunction(&#34;/view/common/_layout.html&#34;);
  11. jfr.addSharedFunction(&#34;/view/common/_paginate.html&#34;);
  12. return jfr;
  13. }
    }

  1. 如上所示,jfr.setSourceFactory(...) 配置的 ClassPathSourceFactory 将从class pathjar包中加载模板文件。jfr.addSharedFunction(...) 配置共享模板函数。
  2. 如果从项目的web路径下加载模板文件则无需配置为 ClassPathSourceFactory

< 6.9 Extension Method扩展

6.11 任意环境下使用Engine >

原文: http://www.jfinal.com/doc/6-10