2010-05-24 6 views
1

J'essaie d'avoir un bouton qui affiche une boîte de dialogue de téléchargement. La façon dont je suis en train d'y parvenir est semblable à ceci:JSF - Afficher le composant jsf lorsque vous cliquez sur un autre composant

<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}"/> 

Avec code dans le backing 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; 
} 

Lorsque j'appuie sur l'étiquette «clic moi je peux voir que la switchTestRendered est exécuté mais le composant 'hideme' ne le révèle pas.

Des suggestions? Merci!

Répondre

1

Vous l'avez. J'aurais dû réinscrire le parent de l'élément que j'essaie de cacher/montrer. En d'autres termes:

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

devrait être:

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

Merci! Ben.

0

A partir du code, on peut seulement voir qu'après "Click me" le rendu du composant 'hide' n'est pas mis à jour. Vous devez savoir pourquoi

Questions connexes