我在一个绑定到bean的Xpage中有一个字段组件 创建文档时,字段将呈现为输入字段,但在读取文档时,组件也会呈现为输入字段,为什么?
答案 0 :(得分:4)
如果bean有一个getter和 setter ,那么它会被渲染为输入字段。
使用输入字段的属性readonly
来确定它是应该呈现为输入字段还是呈现为只读文本字段。
<xp:inputText
id="inputText1"
readonly="#{myBean.readOnly}"
value="#{myBean.myField}">
</xp:inputText>
如果有几个字段绑定到bean,则由具有属性readonly
的面板围绕它们。这样您就不需要将此属性设置为每个字段。
答案 1 :(得分:1)
我相信你需要一个isReadOnly(Object key)
方法来处理你的bean是否只读取bean。 isreadOnly()方法可以将其逻辑基于例如action参数。这是一个简单的例子:
public boolean isReadOnly(final Object key) {
String action = ExtLibUtil.readParameter(FacesContext.getCurrentInstance(), "action");
if ("editdocument".equalsIgnoreCase(action)) {
return false;
}
return true;
}
控件将自动使用它来确定是否需要在readmode或editmode中显示inputText控件。