Ayada是一个java版的模板引擎, 支持jstl语法, 支持el表达式. 支持自定义标签
1. 基本使用
// webapp代表应用根目录
// 如果页面使用了t:include指令, 则根目录必须指定
// TemplateContext对模板进行管理, 默认情况下模板在修改5分钟之后重新编译,
// 因此TemplateContext对象在应用中应该是单粒.
TemplateContext templateContext = new TemplateContext("webapp");
Template template = templateContext.getTemplate("/user/userList.tml");
StringWriter writer = new StringWriter();
PageContext pageContext = JspFactory.getPageContext(templateContext, writer);
DefaultExecutor.execute(template, pageContext);
System.out.println(writer.toString());
2. 自定义标签
在classes目录下建taglib.tld文件, 内容如下:
## ---- compile tag ----
t:taglib com.skin.ayada.jstl.core.LibTag
## ---- jstl.core ----
## default tag support
c:if com.skin.ayada.jstl.core.IfTag
c:set com.skin.ayada.jstl.core.SetTag
c:out com.skin.ayada.jstl.core.OutTag
c:each com.skin.ayada.jstl.core.ForEachTag
c:forEach com.skin.ayada.jstl.core.ForEachTag
c:choose com.skin.ayada.jstl.core.ChooseTag
c:when com.skin.ayada.jstl.core.WhenTag
c:otherwise com.skin.ayada.jstl.core.OtherwiseTag
c:comment com.skin.ayada.jstl.core.CommentTag
按照该格式添加自定义标签即可.
自定义标签支持两种引入方式.
全局引入: 在taglib.tld文件中定义的都是全局标签
局部引入: 在页面中引入, 使用<t:taglib name="my:hello" className="test.tag.HelloTag"/>
局部引入的方式要求必须全局引入t:taglib(t:taglib可以在taglib.tld文件中修改为其他名字)
建议使用全局引入的方式.
3. el表达式
el表达式解析采用的是ognl, ognl在对不存在的对象进行解析的时候会抛异常, 为了避免在页面中有过多的null检查
因此对这种异常进行了屏蔽
4. 模板页面示例
------------------------------------------------------------
<t:import name="my:hello1" className="test.tag.HelloTag1"/>
<t:import name="my:hello2" className="test.tag.HelloTag2"/>
<t:import name="my:hello3" className="test.tag.HelloTag3"/>
<html>
<head>
<title>test</title>
</head>
<body>
<h1>c:cout test</h1>
<c:out value="${user.userName}"></c:out>
<c:out><div>${user.userName}</div></c:out>
<c:out id="1" escapeXml="true">
<div><c:out id="2" value="${user.userName}"></c:out></div>
</c:out>
<h1>c:if test</h1>
<c:if test="${1 == 1}">1 == 1</c:if>
<h1>c:each test</h1>
<c:each items="1,2,3" var="varValue"><p>${varValue}</p></c:each>
<c:forEach items="${userList}" var="user">
<c:choose>
<c:when test="${user.age == 0}">0</c:when>
<c:when test="${user.age == 1}">1</c:when>
<c:when test="${user.age == 2}">2</c:when>
<c:when test="${user.age == 3}">3</c:when>
<c:otherwise>other: ${user.age}</c:otherwise>
</c:choose>
</c:forEach>
<h1>my:hello test</h1>
<my:hello1/>
<my:hello2/>
<my:hello3/>
</body>
</html>
下载地址:
http://ayada.googlecode.com/svn/trunk/
分享到:
相关推荐
基于java的开发源码-Beetl java模板引擎.zip 基于java的开发源码-Beetl java模板引擎.zip 基于java的开发源码-Beetl java模板引擎.zip 基于java的开发源码-Beetl java模板引擎.zip 基于java的开发源码-Beetl java...
Java模板引擎性能对比 Java模板引擎是Web应用程序中一个非常重要的组件,负责将数据绑定到模板中生成最终的HTML页面。不同的Java模板引擎具有不同的性能特点,因此选择合适的模板引擎对于Web应用程序的性能非常重要...
Handlebars.java是一款基于Java的模板引擎,其设计目标是提供一种简单、直观的方式来构建语义模板,使得开发者在处理视图层逻辑时可以更加高效。它借鉴了Mustache模板语言的许多概念,同时添加了一些特有的功能,以...
历史 (2009年HP 技术大会 提交的解决多环境部署问题>>:放在注释里的脚本) 应用范围 (全栈程序员或者前端或者美工) 功能概览 特色介绍 列表 ...其他同类比较(freemark,jsp,angularjs,nodejs 等)
Java模板引擎之FreeMarker FreeMarker是一个开源的Java模板引擎,它被广泛应用于Web开发中,用于生成动态HTML、XML或其他格式的文本。这个强大的工具允许开发者将逻辑代码与表现层分离,使得网页设计人员可以专注于...
Beetl是一款强大的Java模板引擎,它旨在简化Java开发中的视图层逻辑,提供高效、易用、功能丰富的模板语言。这款开源库由国人开发,其设计目标是提高开发效率,减少开发工作量,使开发者可以更加专注于业务逻辑,而...
FreeMarker是一个强大的、开源的Java模板引擎,常用于Web应用中的动态内容生成,尤其是在MVC架构中,作为视图层的技术。它与JSP、JSTL等技术不同,FreeMarker是模型和视图完全分离的,使得开发者可以专注于业务逻辑...
Beetl是一款强大的Java模板引擎,它被设计用于简化Web应用中的视图层开发,将业务逻辑与表现层分离。Beetl的核心理念是“简洁、高效、易用”,为开发者提供了一种灵活且高性能的方式来生成HTML、XML、JSON等各种格式...
Handlebars.java 是一个不包含逻辑的,语义的 Java 模板引擎。 Maven: <groupId>com.github.jknack</groupId> <artifactId>handlebars ${handlebars-version} 示例代码: Handlebars handlebars = ...
JAVA源码Java模板引擎FreeMarker.tar
Beetl是一款强大的Java模板引擎,它为Java开发者提供了便捷的视图层开发方式,能够高效地处理HTML、XML、JSON等各种格式的模板。在Beetl v3.3.1版本中,开发者可以期待一系列优化和改进,使得模板渲染更加高效且易于...
Java模板引擎FreeMarker是一款强大的开源模板技术,常用于Web应用中的动态内容生成,尤其是在MVC架构中,作为视图层的解决方案。它与Spring、Struts等框架配合使用,能够将业务逻辑与页面展示分离,使得开发者可以...
java资源Java模板引擎 FreeMarker.tar提取方式是百度网盘分享地址
FreeMarker是一个强大的、开源的Java模板引擎,常用于Web应用中的动态内容生成,尤其是在MVC架构中,作为视图层的实现技术。它与JSP类似,但更专注于分离业务逻辑和显示逻辑,使得开发者可以编写更加清晰、独立于...
jetbrick-template-1x, Java模板引擎,快速轻松 jetbrick-template 2.0 已经 released,jetbrick-template 1.x 将不再提供新功能,只负责 Bug 修复。jetbrick模板 2.0文档:http://subchen.github.io
Java模板引擎Jetbrick-Template是Java Web开发中用于动态生成HTML或其他格式文本的工具,它在Spring MVC框架中的集成能够帮助开发者更高效地处理视图层的渲染工作。本篇文章将详细阐述如何在Spring MVC中配置和使用...
FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写,FreeMarker被设计用来生成HTML Web页面(为了提高页面的访问速度,把页面静态化),特别是基于MVC模式的应用程序
rythmengine, 具有"Razor" 丰富特性高性能和易于使用的Java模板引擎 Rythm模板引擎具有"Razor"。丰富特性。高性能和易于使用的Java模板引擎 Rythm引擎项目 我们要在这个项目中加入我们。 请联系格林 Luo via 链接...