`
javatar
  • 浏览: 1714180 次
  • 性别: Icon_minigender_1
  • 来自: 杭州699号
社区版块
存档分类
最新评论

Html标签属性语法外套

    博客分类:
  • HTTL
阅读更多
CommonTemplate( http://www.commontemplate.org )的Html标签属性语法外套是项目比较重要的Feature.
如:
<table ct:if="users != null && users.size > 0" border="1">
    <tr ct:for="user : users">
	<td><span ct:out="for.index + 1">1</span></td>
	<td><span ct:out="user.name">james</span></td>
	<td><span ct:out="user.coins">2.00</span></td>
    </tr>
</table>

过滤后:
$if{users != null && users.size > 0}
<table border="1">
    $for{user : users}
    <tr>
	<td>$out{for.index + 1}<span>1</span>$end</td>
	<td>$out{user.name}}<span>james</span>$end</td>
	<td>$out{user.coins}}<span>2.00</span>$end</td>
    </tr>
    $end
</table>
$end


当前版本是自行解析的, 对非法的Html格式容错性较弱, 只作了些自动关闭未结束标签之类的简单处理. 为了尽快稳定功能, 准备借助其它Html容错解析工具包进行解析, 比较成熟的是HtmlParser(http://htmlparser.sourceforge.net), 但发现它实现此功能并不方便. 而需求是很简的, 就是将特殊名称空间的属性转换为tag两端的内容.

考虑到此功能不只是CommonTemplate能用到, 其它模板引擎(如:Velocity/FreeMaker)一样可以用, 所以发了一个请求给htmlparser, 并给出了我期望的API:
// Tag外套内容封装
public final class Coat {

	private final String before;

	private final String after;

	public Coat(String before, String after) {
		this.before = before;
		this.after = after;
	}

	public String getBefore() {
		return before;
	}

	public String getAfter() {
		return after;
	}

}

public interface AttributeCoatHandler {

	// 解析器在遇到相应属性时, 回调此接口
	// 并将返回的Coat中的before和after内容添加到Tag两端
	Coat handleAttribute(String attrName, String attrValue);

}

// 注册指定名称空间的属性处理器
TagCoatContext.registerAttributeCoatHandler(String namespace, AttributeCoatHandler handler);



希望他们能实现, 如果不行, 可能要自己写了, 先加入延迟计划中.
2
0
分享到:
评论

相关推荐

    HTML标签属性大全

    最后,表格语法中,标签用于创建表格,aling属性用于设置表格的对齐方式,如left(左对齐)、center(居中)。background属性用于设置表格的背景图片,border属性用于设置边框的大小。bgcolor和bordercolor属性分别...

    html标签和属性总结

    HTML标签和属性总结 HTML标签是构建Web页面的基础,了解HTML标签的属性和使用方法是非常重要的。本文将详细介绍HTML标签的种类、属性和使用方法,适合初学者学习和参考。 一、 HTML标签的种类 HTML标签可以分为两...

    html语法大全、标签、属性

    HTML 是创建网页的基础,通过合理使用不同的标签及其属性,可以创建出结构清晰、功能丰富的网页。掌握上述提到的 `&lt;img&gt;` 标签以及其他的常用标签和属性对于前端开发者来说是非常重要的。随着技术的发展,某些标签...

    html标签属性大全

    HTML(HyperText Markup Language)是用于创建网页的标准标记语言,其中标签和属性是构建网页结构和样式的关键元素。本文将详细介绍一些常见的HTML标签属性及其用途。 1. **跑马灯标签 `&lt;marquee&gt;`**:这个标签可以...

    HTML5 标签属性大全

    该资源涵盖了 HTML5 中的基本标签、语法知识、表格定义、frameset 框架、表单标签、input 属性等方面的知识点。 基本标签 * H1~H6 标题标签:用于定义标题,H1 代表最大的标题,H6 代表最小的标题 * P 段落标签:...

    HTMl语法分析程序

    这个程序通常由一系列算法和规则组成,可以识别并处理HTML标签、属性、实体等元素。在给定的资料中,我们有三个文件: 1. **说明.htm**:这是一个可能包含程序使用指南或详细功能介绍的HTML文件。用户可以通过阅读...

    Html语法大全.pdf

    图像的语法格式为:,其中 src 属性是图像 URL,alt 属性是图像替代文字,width 和 height 属性是图像宽度和高度,border 属性是图像边框宽度,align 属性是图像对齐方式。 表格 Html 的表格包括表格结构、表格...

    html标签属性.pdf

    这些只是HTML标签属性的一部分,实际HTML语法还包括表格的复杂排版、列表、表格、表单、框架等更多内容。了解并熟练掌握这些基本标签和属性是构建静态网页的基础。在现代Web开发中,我们通常会结合CSS和JavaScript来...

    html语法大全 下载

    这个“HTML语法大全”可能包含了从基础到高级的所有HTML元素、属性和语法知识,旨在帮助学习者全面掌握HTML的使用。 首先,HTML由一系列的元素组成,每个元素都由开始标签和结束标签构成,例如`&lt;p&gt;`和`&lt;/p&gt;`代表一...

    html低级语法检查,超级文本编辑器

    常见的错误包括未闭合的标签、错误的属性名或值、以及不必要的空格或特殊字符。 正则表达式在检查HTML语法时能发挥巨大作用。例如,我们可以用正则表达式来查找未闭合的标签,这通常涉及到匹配开始标签但没有对应...

    HTML5 基础语法结构与标签应用详解

    涵盖了HTML的基本概念、语法特点、文档结构、常见标签及其属性,以及如何在网页中使用这些标签创建基本的网页结构。具体包括文档声明、字符集设置、页面元信息、基本标签(如标题、段落、图片、链接等)、列表、表格...

    简单易懂的html语法

    2. **HTML标签**:文档的根元素`&lt;HTML&gt;`,用于包裹整个HTML内容,并在结束时使用`&lt;/HTML&gt;`。 3. **头部**:`&lt;HEAD&gt;`标签内包含文档的元信息,如标题、字符集设定等,通常还会包含`&lt;TITLE&gt;`标签来定义网页标题。 4. *...

    课程html标签属性大全.pdf

    在HTML中,标签是构建页面结构和呈现内容的基本元素,而属性则是用来进一步定制这些标签行为的关键部分。本篇将详细介绍一些常见的HTML标签及其属性。 首先,我们来看与动画效果相关的`&lt;marquee&gt;`标签,它用于创建...

    HTML语法学习 HTML语法全掌握

    首先,HTML由一系列的元素(Elements)组成,每个元素以起始标签(Opening Tag)和结束标签(Closing Tag)包裹内容,例如`&lt;p&gt;`和`&lt;/p&gt;`用于定义段落。元素可以包含属性(Attributes),提供额外的信息,如`...

    html标签属性

    HTML(HyperText Markup Language)是用于创建网页的标准标记语言,其中的标签属性是定义元素行为和外观的关键元素。本文将详细介绍HTML标签属性及其用途。 首先,我们来看`&lt;marquee&gt;`标签,它常用于创建滚动文本或...

    HTML语法教学.pdf

    3. 排版标签:针对标签的属性,可以做适当的版面编排。 4. 字体标签:教导您设定文字的字体。 5. 文字标签:教导您设定文字的颜色、行距、变化等等。 6. 影像标签:教导您如何在网页中植入图像。 7. 背景标签:...

    HTML手册与JSP语法

    HTML语法是构建网页的基础,它由一系列标签构成,这些标签定义了页面的结构和内容。例如,`&lt;html&gt;`标签是文档的根元素,`&lt;head&gt;`包含了元数据,如标题,而`&lt;body&gt;`则包含用户在浏览器中看到的实际内容。HTML注释以`...

    HTML语法教学

    HTML语法主要由元素(Elements)、属性(Attributes)和值(Values)构成。元素通常以尖括号包围,如`&lt;html&gt;`,并在关闭时添加斜线,如`&lt;/html&gt;`。元素可以包含其他元素或文本内容。属性定义了元素的行为或特性,如`...

    html语法与标签.zip

    在“html语法与标签.zip”这个压缩包中,我们很显然会找到关于HTML语法和各种标签的详细信息。现在,我们将深入探讨HTML的基础知识、语法结构以及常用的标签。 HTML语法的基本结构是从&lt;!DOCTYPE html&gt;开始,这是一...

Global site tag (gtag.js) - Google Analytics