<pe:keyfilter>无法在<ui:repeat>中工作。找不到id的抛出异常

时间:2016-02-29 08:24:10

标签: jsf primefaces primefaces-extensions

<pe:keyFilter>正在处理单<p:inputText>但是当我重复使用inputText时,它无效并抛出异常。

喜欢

   <p:inputText value="text2" id="text2" />
   <pe:keyFilter for="text2"  regEx="/[ABC]/i"/>   

它工作正常,但是代码不能正常工作并且没有找到id text-0的异常

   <ui:repeat var="answer" value="#{answerBean.answerList}" varStatus="answerStatus" >
      <p:inputText value="#{answer.answerText}" id="text-#{answerStatus.index}" />
      <pe:keyFilter for="text-#{answerStatus.index}" regEx="/[ABC]/i" />
   </ui:repeat>

1 个答案:

答案 0 :(得分:1)

您不必担心在JSF迭代组件中强制使用唯一ID。 JSF已经完成了这一切。简单地摆脱varStatus以及与此相关的所有不必要性,让JSF完成它的工作。

<ui:repeat value="#{answerBean.answerList}" var="answer">
   <p:inputText id="text" ... />
   <pe:keyFilter for="text" ... />
</ui:repeat>

只有在使用<c:forEach> taghandler而不是<ui:repeat>组件时才需要它。另请参阅JSTL in JSF2 Facelets... makes sense?