Question

J'ai une question concernant la présentation du contenu de formulaire avec p:commandbutton qui a tendance à travailler de la manière ajax.

Si j'ai un code comme ceci:

<f:verbatim  rendered="#{myBean.constructor}"></f:verbatim >
 <h:form prependId="false">
          ....            
            .....
<p:commandButton   value="#{msg.Add_Parameter_Set}" update="addParameterSetPnl,msgs"  action="#{myBean.initNewParametersSet}"/>
  </h:form>

Lors de la soumission de la forme avec le bouton de commande, le procédé sera de getContructor f: textuellement être appelé (mettre à jour les différentes parties de la forme)? Comment puis-je l'empêcher d'être appelé?

Je pense que la présentation d'un formulaire, ne fait que rendre le contenu de la forme / le contenu qui a été défini par le paramètre update ..

Était-ce utile?

La solution

Il ne devrait pas nuire. Si vous faites des trucs chers là-bas, alors vous devez déplacer que pour le constructeur, la méthode de @PostConstruct ou une action de la fève en question, ou d'introduire le chargement paresseux ou renifler phase.

// In Constructor..
public Bean() {
    constructed = getItSomehow();
}

// ..or @PostConstruct..
@PostConstruct
public void init() {
    constructed = getItSomehow();
}

// ..or action method..
public String submit() {
    constructed = getItSomehow();
    return "outcome";
}

// ..or lazy loading..
public boolean getConstructed() {
    if (constructed == null) constructed = getItSomehow();
    return constructed;
}

// ..or phase sniffing (this one updates during render response only).
public boolean getConstructed() {
    if (FacesContext.getCurrentInstance().getRenderResponse()) constructed = getItSomehow();
    return constructed;
}

Voir aussi

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top