JSF2自定义组件编程系列 第四部分
第四部分 第一个简单的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标记了。
未完,待续..
补充:软件开发 , Java ,