2

カスタム タグで問題が発生しています。

これが問題です。JSF ページで使用するタグを作成しました。

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:t="http://myfaces.apache.org/tomahawk"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core">

    ... some stuff ...

<h:inputText id="#{id}" value="#{value}" binding="#{binding}" label="#{label}"/>

    ... some stuff ...
</ui:composition>

このコンポーネントをページでこのように使用したい (私のコンポーネントは gp:inputText という名前です):

<gp:inputText value="#{myBean.myValue}" id="myId" label="myLabel" binding="#{myBean.myUiComponent}" />

しかし、同じコンポーネントを使用したいのですが、inputText をバインドしません。どうやってやるの?バインディングを指定せずにコンポーネントを使用しようとしましたが、機能しません。たとえば、ラベル値のようにバインディング値を null にすることはできないようです。

助けてくれてありがとう !

4

1 に答える 1

5

正しい値がないとバインディング属性を定義することはできません。

ただし、次のように、null の場合はバインディング属性を定義することを避けることができます。

<h:inputText id="#{id}" value="#{value}" label="#{label}">
    <c:if test="#{binding != null}" >
        <f:attribute name="binding" value="#{binding}" />
    </c:if>
</h:inputText>
于 2013-11-08T13:56:42.377 に答える