Jsf <;pe:keyFilter>;不在<;用户界面:重复>;。未找到id的引发异常

Jsf <;pe:keyFilter>;不在<;用户界面:重复>;。未找到id的引发异常,jsf,primefaces,primefaces-extensions,Jsf,Primefaces,Primefaces Extensions,正在使用single工作,但当我在repeat中选择inputText时,它不工作并引发异常 像 它工作正常,但下面的代码不工作,未找到id text-0引发异常 <ui:repeat var="answer" value="#{answerBean.answerList}" varStatus="answerStatus" > <p:inputText value="#{answer.answerText}" id="text-#{answerStatu

正在使用single
工作,但当我在repeat中选择inputText时,它不工作并引发异常


它工作正常,但下面的代码不工作,未找到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>

您不必担心在JSF迭代组件中强制使用唯一ID。JSF已经自己做到了这一点。简单地去掉
varStatus
和所有与之相关的不必要的东西,让JSF完成它的工作

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

只有当您使用的是
标记处理程序而不是
组件时,才有必要使用该组件。另见

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