Наилучшая практика для режимов readOnly / edition в JSF? - PullRequest
1 голос
/ 09 июля 2011

Кто-нибудь может порекомендовать способ выполнения режимов редакции / только для чтения?Я использую 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 в зависимости от логического значения.Но, очевидно, есть ошибка в inputText PF, поскольку я получаю нулевое исключение targetClass.Если я использую inputText вне компонента, он работает, но я хочу инкапсулировать это поведение с помощью компа.Любое другое предложение?

1 Ответ

5 голосов
/ 11 июля 2011

Я бы предложил вместо этого использовать атрибут 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;
}
...