您的位置:首页 > 编程语言 > Java开发

Java模板引擎 beetl 笔记

2017-03-22 00:00 337 查看

maven项目pom:

<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetl</artifactId>
<version>版本号</version>
</dependency>


spring-mvc.xml配置视图解析:

<bean id="beetlConfig" class="org.beetl.ext.spring.BeetlGroupUtilConfiguration" init-method="init"/>
<!-- 定义beetl视图文件解析-->
<bean id="viewResolver" class="org.beetl.ext.spring.BeetlSpringViewResolver">
<property name="contentType" value="text/html;charset=UTF-8"/>
<property name="suffix" value=".html"/>
</bean>


在resource 目录下创建beetl.properties配置文件 自定义配置:

#自定义配置
#模板根路径
RESOURCE.root = /WEB-INF/views/
#定义模板全局变量的类
WEBAPP_EXT = com.zede.util.GlobalExt
#是否检测文件变化
RESOURCE.autoCheck = true
#在页面输出错误提示信息
ERROR_HANDLER =org.beetl.ext.web.WebErrorHandler


GlobalExt.java:

public class GlobalExt implements WebRenderExt {

/**
* 这里可以配置模板 全局变量 如:template.binding("version","1.0");
*/
@Override
public void modify(Template template, GroupTemplate gtemplate, HttpServletRequest request,
HttpServletResponse response) {

template.binding("version", "1.0");
}

}

可以实现所有模板都能读取 ${version} 这个变量

ajax的局部渲染技术:

<!-- index.html -->

<div>something....</div>

<div id="table-container" >
<%
//ajax片段开始
#ajax userTable: {
%>

<table>
<tr><td width=100>id</td><td width=100>姓名</td></tr>
<% for(user in users){ %>
<tr><td>${user.id}</td><td>${user.name}</td></tr>
<% } %>
</table>

当前页面<span id="current">${page!1}</span><span style="width:20px"></span>
<a href="#"><span  class="page">next</span></a> <a href="#" ><span  class="page">pre</span></a>
<%
//ajax片段结尾
}
%>

#ajax 用于告诉告诉模板引擎,此处是个局部渲染标记,标记为"userTable",对于正常渲染视图"index.html"页面,#ajax标记没什么用处,table仍能得到正常渲染。如果渲染的视图是index.html#userTable,则模板只会渲染#ajax标记得模板片段,其他部分将忽略。

for example ( spring MVC)

@requestMapping("xxx")
public String actionName(){

return "index#userTable";

}


文档:http://ibeetl.com/guide/#beetl
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Beetl