0

我为我的 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

4

2 回答 2

0

为此需要遵循以下步骤:

  1. 将您的自定义标签作为 xhtml 文件写入

  2. 创建 taglib.xml 文件并为您的自定义标签 /validator 添加一个条目

    <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>
    
  3. 在 web.xml 中注册

     <context-param>
        <param-name>facelets.LIBRARIES</param-name>
        <param-value>/WEB-INF/taglib.xml</param-value>
     </context-param>
    
  4. 通过包含 taglib 使用您的自定义标签

于 2013-05-23T07:36:59.353 回答
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

于 2012-01-22T14:47:39.017 回答