我正在尝试使用一个按钮来显示上传对话框。 我试图实现这一点的方式类似于:
<h:outputText value="Click Me" id="testit">
<a4j:support reRender="hideme" event="onclick" action="#{actions.switchTestRendered}"/>
</h:outputText>
<h:outputText id="hideme" value="back" rendered="#{actions.testRendered}"/>
使用支持bean中的代码:
private boolean testRendered = false;
public String switchTestRendered(){
setTestRendered(!isTestRendered());
System.out.println("Current Status:"+isTestRendered());
return "success";
}
public void setTestRendered(boolean testRendered) {
this.testRendered = testRendered;
}
public boolean isTestRendered() {
return testRendered;
}
当我按下“click me”标签时,我可以看到switchTestRendered已经运行但是'hideme'组件没有显示。
有什么建议吗? 谢谢!
答案 0 :(得分:1)
知道了。 我应该重新修复我试图隐藏/显示的元素的父元素。 换句话说:
<a4j:support reRender="hideme" event="onclick" action="#{actions.switchTestRendered}"/>
应该是:
<a4j:support reRender="father_of_hideme" event="onclick" action="#{actions.switchTestRendered}"/>
谢谢! 本。
答案 1 :(得分:0)
从代码中可以看出,在“点击我”后,“隐藏”组件渲染器不会更新。你必须找出原因