forma de presentar con p: commandButton JSF
-
27-09-2019 - |
Pregunta
Tengo una pregunta con respecto a la presentación de contenidos formulario con p:commandbutton
que tiende a trabajar en el camino ajax.
Si tengo un código como el siguiente:
<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>
Al enviar el formulario con el botón de comando, el método de getContructor f: Verbatim ser llamado (puedo actualizar diferentes partes de la forma)? ¿Cómo puedo evitar que sea llamado?
I pensó que la presentación de una forma, solamente hace que el contenido de la forma / el contenido que se ha especificado por el parámetro update
..
Solución
No debe dañar. Si estás haciendo cosas caras allí, entonces usted debe mover a que el método constructor, @PostConstruct
o acción del grano en cuestión, o introducir la carga diferida o fase olfateando.
// 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;
}