我为我的JSF项目创建了一个自定义验证器。我可以这样使用它:
<h:inputText id="inpUsername" value="#{testbean.value}">
<f:validator validatorId="validators.TestValidator" />
</h:inputText>
我需要为它创建一个自定义标签,所以我可以像这样使用它:
<h:inputText id="inpUsername" value="#{testbean.value}">
<validators:myValidator />
</h:inputText>
如何为验证器创建自定义标签? 我正在使用Eclipse,JSF 2.0和Glassfish
答案 0 :(得分:0)
您应该在taglib.xml
<tag>
<tag-name>myValidator</tag-name>
<validator>
<validator-id>validators.TestValidator</validator-id>
</validator>
</tag>
请参阅http://facelets.java.net/nonav/docs/dev/docbook.html#taglib-create-validator
关于taglib.xml:http://facelets.java.net/nonav/docs/dev/docbook.html#taglib-web
答案 1 :(得分:0)
需要遵循以下步骤:
将自定义标记写为xhtml文件
创建taglib.xml文件并为自定义标记/验证程序添加条目
<facelet-taglib>
<namespace>http://anyurl.com/unique</namespace>
<tag>
<tag-name>myTag</tag-name>
<source>tags/com/portal/myTag.xhtml</source>
</tag>
<tag>
<tag-name>myValidator</tag-name>
<validator>
<validator-id>validators.TestValidator</validator-id>
</validator>
</tag
</facelet-taglib>
在web.xml中注册
<context-param>
<param-name>facelets.LIBRARIES</param-name>
<param-value>/WEB-INF/taglib.xml</param-value>
</context-param>
通过添加taglib