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> 
时间: 2024-11-19 14:57:48

jetbrick,新一代 Java 模板引擎,具有高性能和高扩展性的相关文章

SpringBoot(5)新一代Java模板引擎Thymeleaf

Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎.类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎.与其它模板引擎相比,Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个Web应用. Thymeleaf初探 相比于其他的模板引擎,Thymeleaf最大的特点是通过HTML的标签属性渲染标签内容,以下是一个Thymeleaf模板例子: <!DOCTY

高可用,高性能,高扩展性 web服务

存储: 文件存储: FastDFS 数据库: MySQL(集群, mster, Slave读写分离), 缓存: Redis, Memcache 前端: Jquery, Angular 框架: python django

新一代 javascript 模板引擎

artTemplate-3.0 新一代 javascript 模板引擎 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> </head> <script type="text/javascript" src="js/template.js"></script> <

jetbrick-template 2.0.2 发布,Java 模板引擎

全面超越 Velocity 的全新一代 Java 模板引擎 jetbrick-template 2.0.2 正式版终于发布拉! 本次更新主要修复了 2.0 的 bugs,建议大家升级. Release Notes: [增强] Add SecurityManager for create template with source [增强] Allow initialize value for JetWebContext.SESSION_ENABLED [修复] JDK6 上的文本输出错误 [修复]

httl开源JAVA模板引擎,动态HTML页面输出

HTTL(Hyper-Text Template Language)是一个适用于HTML输出的开源JAVA模板引擎,适用于动态HTML页面输出,可用于替代JSP页面,它的指令类似于Velocity. HTTL采用类似于JSP的原理,将模板编译成Java字节码运行,但比JSP的EL更进一步,使用强类型推导,减少运行期反射和转型,更加快速. 缺省配置下,HTTL不需要依赖任何三方类库即可运行.   二进制包 源代码包 源码仓库 HTTL核心包 httl-1.0.11.jar httl-1.0.11-

springboot:Java模板引擎Thymeleaf介绍

Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎.类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎.与其它模板引擎相比,Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个Web应用. Thymeleaf初探 相比于其他的模板引擎,Thymeleaf最大的特点是通过HTML的标签属性渲染标签内容,以下是一个Thymeleaf模板例子: <!DOCTY

优秀开源项目之三:高性能、高并发、高扩展性和可读性的网络服务器架构State Threads

译文在后面. State Threads for Internet Applications Introduction State Threads is an application library which provides a foundation for writing fast and highly scalable Internet Applications on UNIX-like platforms. It combines the simplicity of the multi

[Java] 模板引擎 Velocity 随笔

Velocity 是一个基于 Java 的模板引擎. 本博文演示 Velocity 的 HelloWord 以及分支条件. HelloWord.vm,模板文件. templateDemo.java, 演示 Velocity 模板引擎. App.java, 应用的入口 在 Eclipse 上,基于 maven 管理工具,运行后目录结构如下 源代码只存在于 ./src/main 目录下面.target 目录为 maven 生成输出的目录,可做参考.test 目录为测试代码目录,此处可忽略. grs:

Java模板引擎 FreeMarker

概念 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写. 它是为Java程序猿提供的一个开发包.它不是面向终于用户的,而是为程序猿提供的一款能够嵌入他们所开发产品的应用程序. 介绍 那么.FreeMarker是一款如何的工具呢?FreeMarker实际上是被设计用来生成HTML Web页面,尤其是通过实现了基于MVC模式的Java Servlet应用程序.使用MVC模式的动态页面的设计构思使得你能够将前端设计师从程序猿中分离出来.全部人各司其职,发挥其最