J'ai découvert un problème dans mon petit programme, et je me demande si quelqu'un a des conseils ou des conseils sur la façon de résoudre ce problème le mieux possible .Comment faire un formulaire soumettre quand son rendu basé sur une valeur dans une demande bean tronqué
J'ai le bean testBean qui est dans la portée de la requête. Il contient les éléments suivants:
public class testBean {
private boolean internal = false;
private String input = "";
public String internalTrue() {
System.out.println("Set internal true");
setInternal(true);
return null;
}
public String submitForm() {
System.out.println("");
return null;
}
public boolean isInternal() {
return internal;
}
public void setInternal(boolean internal) {
this.internal = internal;
}
public String getInput() {
return input;
}
public void setInput(String input) {
this.input = input;
}
}
Mon fichier welcomeJSF.jsp contient ceci:
<f:view>
<h:form>
<h:commandButton value="Set internal true" action="#{testBean.internalTrue}" />
</h:form>
<h:panelGrid columns="1" rendered="#{testBean.internal}">
<h:form>
<h:outputText value="JavaServer Faces" /><h:inputText value="#{testBean.input}" />
<h:commandButton value="Go" action="#{testBean.submitForm}" />
</h:form>
</h:panelGrid>
</f:view>
Quand je lance l'application Im présenté avec le bouton "Set interne vrai". Je clique dessus et je suis présenté avec le formulaire où j'ai le bouton "Go". En cliquant sur "Go" ne déclenche pas la méthode dans mon bean, probablement parce que le champ n'est plus rendu sur le serveur, et donc il ne va pas exécuter la méthode. Y a-t-il des solutions intelligentes à cela?
En avance, merci pour votre temps.
Merci d'avoir éclairci ça pour moi! Très bonne réponse –