2010-05-24 43 views
1

我想要一個可以調出上載對話框的按鈕。 我試圖實現這一目標的方法與此類似:JSF - 單擊另一個組件時取消隱藏jsf組件

<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; 
} 

當我按下「點擊我」的標籤,我可以看到,運行switchTestRendered,但'hideme'組件不會顯示。

有什麼建議嗎? 謝謝!

回答

1

明白了。 我應該reReendered我想要隱藏/顯示的元素的父。 換句話說:

<a4j:support reRender="hideme" event="onclick" action="#{actions.switchTestRendered}"/> 

應該是:

<a4j:support reRender="father_of_hideme" event="onclick" action="#{actions.switchTestRendered}"/> 

謝謝! 本。

0

從代碼中只能看到'Click me'後'隱藏'組件渲染器沒有更新。你必須找出爲什麼