• jetbrick,新一代 Java 模板引擎,具有高性能和高扩展性


    新一代 Java 模板引擎,具有高性能和高扩展性。

    <!-- Jetbrick Template Engineer -->
    <dependency>
        <groupId>com.github.subchen</groupId>
        <artifactId>jetbrick-template-springmvc</artifactId>
        <version>2.0.10</version>
    </dependency>

    http://git.oschina.net/sub/jetbrick-template/tree/master

    原文:http://lafecat.iteye.com/blog/2042972

    jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性。 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板。 指令和 Velocity 相似,表达式和 Java 保持一致,易学易用。 
    文章最后附简单springmvc集成jetbrick.template模版项目一个。 
    1.配置web.xml 
    <?xml version="1.0" encoding="UTF-8"?> 
       <web-app xmlns="http://java.sun.com/xml/ns/javaee" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
          version="3.0"> 
             
        <!-- 加载jetbrick-template配置 --> 
        <context-param> 
          <param-name>jetbrick-template-config-location</param-name> 
          <param-value>/WEB-INF/jetbrick-template.properties</param-value> 
        </context-param> 
         <listener> 
           <listener-class> 
             jetbrick.template.web.JetWebEngineLoader 
           </listener-class> 
         </listener> 
        <!-- Spring MVC 核心控制器 --> 
        <servlet> 
            <servlet-name>mvc</servlet-name> 
            <servlet-class> 
              org.springframework.web.servlet.DispatcherServlet 
            </servlet-class> 
            <init-param> 
                <param-name>contextConfigLocation</param-name> 
                <param-value>classpath:spring-mvc.xml</param-value> 
            </init-param> 
            <load-on-startup>1</load-on-startup> 
        </servlet> 
        <servlet-mapping> 
            <servlet-name>mvc</servlet-name> 
            <url-pattern>/*</url-pattern> 
        </servlet-mapping> 
        <welcome-file-list> 
            <welcome-file>index.html</welcome-file> 
        </welcome-file-list> 
    </web-app> 
    
    二、spring-mvc.xml配置 
    <context:component-scan 
        base-package="jetbrick.template.samples.springmvc.controller"/> 
        <mvc:annotation-driven /> 
    <bean class="jetbrick.template.web.springmvc.JetTemplateViewResolver"> 
         <property name="suffix" value=".jetx" /> 
         <property name="contentType" value="text/html; charset=UTF-8" /> 
         <property name="order" value="9999" /> 
    </bean> 
    
    三、jetbrick-template.properties配置 
    import.packages = jetbrick.template.samples.dao, jetbrick.template.samples.model 
    import.autoscan = true 
    import.autoscan.packages = jetbrick.template.samples 
    template.reloadable = true 
    compile.debug = true 
    input.encoding=UTF-8 
    output.encoding=UTF-8 
    template.path=/WEB-INF/jetx/ 
    template.loader=jetbrick.template.resource.loader.FileSystemResourceLoader 
    template.suffix=.jetx 
    
    四、使用 
    <!DOCTYPE html> 
    <html> 
    <head> 
        <meta charset='utf-8'> 
        <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
        <title>jetbrick-template samples</title> 
    </head> 
    <body> 
    #define(UserInfo author) 
    <div>Welcome, You are ${author.name}!</div> 
    <br/> 
    <table border="1" width="600"> 
      <tr> 
        <td>ID</td> 
        <td>书名</td> 
        <td>作者</td> 
        <td>价格</td> 
        <td>出版时间</td> 
      </tr> 
      #for(BookInfo book: author.getBooks()) 
      <tr> 
        <td>${book.id}</td> 
        <td>${book.name}</td> 
        <td>${book.getAuthorUser().name}</td> 
        <td>${book.price.format()}</td> 
        <td>${book.publicationDate.format("yyyy-MM-dd")}</td> 
      </tr> 
      #else 
      <tr> 
        <td colspan="5" height="100">Sorry! 还没出版过任何数据哦!</td> 
      </tr> 
      #end 
    </table> 
    <br/> 
    点击这里返回用户列表 
    </br/> 
    #include("includes/footer.jetx") 
    </body> 
    </html> 
  • 相关阅读:
    与人相处的二十四条黄金法则(转载)
    User.UserType: NoLogin 不是SQL Server 2005 的有效选项 的解决方案
    腾讯QQ的验证码,很黄很暴力
    具有Ajax自动建议功能的TextBox控件(附源码)
    30+英文电子书免费下载网站,跟喜欢看英文电子书的朋友分享
    Ajax实现多任务指示器(附源码)
    批量替换数据库记录内容的一条SQL语句
    MAC地址为FFFFFFFFFFFF,接受数据包为0,局域网电脑不能上网的解决办法
    不小了,该谈朋友结婚了,年前能实现吗?
    WordPress中J.parentNode’为空或不是对象的解决方法
  • 原文地址:https://www.cnblogs.com/kzfy/p/5287522.html
Copyright © 2020-2023  润新知