0
私はFaceletタグ(入力とラベル付け)を作成しようとしています。私はidを条件付きの属性にしようとするところまでうまくいった。これを達成する方法はありますか?私は(PrimeFaces)を使用していると私がやろうとしているもののようなものです:オプションのid属性を持つFaceletタグ
<h:inputText>
<c:if test="#{id ne null}">
<f:attribute name="id" value="#{id}" />
</c:if>
</h:inputText>
そして、私はそれを使用する方法をこの:
<my:outputPanel />
または
<my:outputPanel id="foo" />
私はそれを使用しようとすると、私はこのエラーを受け取ります:
java.lang.IllegalArgumentException
at javax.faces.component.UIComponent.setValueExpression(UIComponent.java:484)
at com.sun.faces.facelets.tag.jsf.core.AttributeHandler.apply(AttributeHandler.java:119)
at com.sun.faces.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:96)
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)
これはid以外の属性でうまく動作します。これはid属性に関する一種の制限のようです。どのような方向でもありがとうございます。
それは動作しますか? – Kukeltje
@Kukeltje、それは普通のコンポーネントでも動作しません。私はh:inputTextで試しました。 – jpavel
それはPrimeFaces関連ではない...あなたはMojarraの代わりにMyFacesを試しましたか? – Kukeltje