jetbrick,新一代 Java 模板引擎,具有高性能和高扩展性
2024-08-22 11:27:49
新一代 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>
最新文章
- Azure Backup (1) 将SQL Server 2012虚拟机中数据库备份到Azure Storage
- Mongoose简单的连表查询
- dynamic2016 crm 安装语言包提示缺少组件报错
- 喜迎2015年新年:坦克大战(Robocode)游戏编程比赛图文总结
- 使scp不用输入密码
- PHP 数组的值插入
- php页面相互调用的知识点
- Putty以及adb网络调试
- 在Xbox和Hololens 上部署、调试UWP App
- unrecognized font family ";iconfont2";
- 如何更改wampserver的网站根目录
- 基于touch.js 左滑删除功能
- ioctl函数
- 38.Odoo产品分析 (四) – 工具板块(7) – 车队管理(2)
- HoloLens开发手记 - HoloLens真机上手简评
- 解决本地项目推送到码云(github),上提示:failed to push some refs to ...
- macbook的终端中使用gnu的ls命令
- mysql查看版本,编码
- SEO误区之——静态化页面
- 算法学习记录-图——最短路径之Dijkstra算法