1

誰でもエディション/読み取り専用モードを実行する方法を提案できますか?私はPFを使用しており、これを実行しました。

<composite:interface>
        <composite:attribute name="size"/>
        <composite:attribute name="value"/>
        <composite:attribute name="editable"/>
    </composite:interface>

    <composite:implementation>

        <p:inputText value="#{cc.attrs.value}"  size="#{cc.attrs.size}" rendered="#{cc.attrs.editable}"/>

        <h:outputText value="#{cc.attrs.value}" rendered="#{!cc.attrs.editable}"/>

    </composite:implementation>

ブール値に応じて、inputTextまたはoutPutTextを表示するだけです。しかし、targetClass null例外を受け取ったため、PFのinputTextにバグがあるようです。コンポーネントの外部でinputTextを使用すると機能しますが、この動作をcompでカプセル化したいと思います。他に何か提案はありますか?

4

1 に答える 1

5

disabled代わりに属性を使用し、必要に応じて CSS を使用して、入力を出力のようにスタイル設定することをお勧めします。

例えば

<p:inputText value="#{bean.value}" disabled="#{!bean.editable}" />

CSSで

.ui-inputfield[disabled], .ui-inputfield[disabled].ui-state-focus {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}
于 2011-07-11T09:24:36.640 に答える