您的位置:首页 > Web前端 > JavaScript

JSF2自定义组件编程系列 第四部分

2012-02-08 19:39 411 查看
第四部分 第一个简单的Composite Component

自己编写html标记的输出是繁琐的,更何况可能还要支持其他的客户端的标记语言。好在我们可以复用JSF2的标准tags.本节实现前一节HtmlInput tag的界面,称之为HtmlInput2 tag。完整的功能将在后面一节中实现。
首先,在src/main/resources/META-INF/下创建目录jsfex,在jsfex目录下创建HtmlInput2.xhtml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets">
<h:body>
<ui:composition>
<h:inputText/>
<h:commandButton type="submit" value="Click Me!" />
<h:outputText value="null"/>
</ui:composition>
</h:body>
</html>

这里分别复用了三个JSF2的标准tag。然后在helloworld.taglib.xml文件中的namespace标记下添加一行:
<namespace>http://com.freebird/jsfex</namespace>
<composite-library-name>jsfex</composite-library-name>

同时添加一个tag元素:
<tag>
<tag-name>htmlinput2</tag-name>
<source>jsfex/HtmlInput2.xhtml</source>
</tag>

从界面上,这就是所有要做的,是不是很简单?有了这个,不再需要通过ResponseWriter输出HTML标记了。

未完,待续..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: