当我有finisehd点击按钮时,bean的值不会改变。我没有任何错误,但它不起作用:“锁定”仍被评估为假
以下是代码:
<p:column>
<p:commandButton id="downloadLink" ajax="false" oncomplete="#{dmFile.setLocked(true)}">
<p:fileDownload value="#{downloadBean.downloadXMLFile(dmFile)}" />
</p:commandButton>
<p:column headerText="lock" style="width:2%">
<h:outputText value="#{dmFile.locked}" />
</p:column>
我的豆是
public class DMFile{
private boolean locked;
public boolean isLocked() {
return locked;
}
public void setLocked(boolean locked) {
this.locked = locked;
}
}
答案 0 :(得分:1)
从reference guide,属性oncomplete
执行:
你不能引用bean动作!例如,它用于调用JavaScript
方法并由客户端执行。
可以找到完整的参考资料HERE。
答案 1 :(得分:-1)
您可以使用f:setPropertyActionListener
<p:commandButton id="downloadLink" ajax="false" >
<f:setPropertyActionListener value="true" target="#{dmFile.locked}" />
<p:fileDownload value="#{downloadBean.downloadXMLFile(dmFile)}" />
</p:commandButton>
让我知道它是否对任何人都有用。