我正在使用渲染的attritube在我的数据表中显示“x”。即使其值为假,也会每次打印x。
<ace:column id="aktiviert" headerText="Aktiviert" sortBy="#{user.aktiviert}" filterBy="#{user.aktiviert}">
<ace:cellEditor>
<f:facet name="output">
<h:outputText value="x" rendered="#{user.aktiviert}"/>
</f:facet>
<f:facet name="input">
<ace:checkboxButton id="aktiviertInput" value="#{user.aktiviert}" />
</f:facet>
</ace:cellEditor>
</ace:column>
如果我之前放了另一个outputText,它就可以了!
<f:facet name="output">
<h:outputText value="" rendered="#{user.aktiviert}"/>
<h:outputText value="x" rendered="#{user.aktiviert}"/>
</f:facet>
现在只打印x,如果后端的布尔值为true。通过第一次访问,我的渲染属性总是像值为true一样工作。
是否存在已知错误?这是从icefaces 3.2到3.3的更新。
这是我对实体的吸引力。
@Column(name = "AKTIVIERT")
public Boolean getAktiviert() {
System.out.println("Aktiviert : " + aktiviert);
if (aktiviert == null) {
return false;
} else {
return aktiviert;
}
}
答案 0 :(得分:0)
如果要通过ajax更改属性,则需要在ace:dataTable上使用“alwaysExecuteContents”。我做了一个快速测试,发现一旦将此属性设置为“true”,刻面上的渲染标记就会正确更新。