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 。但显然 PF 的 inputText 中有一个错误,因为我收到了一个 targetClass 空异常。如果我在组件之外使用 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 回答