отправка формы с помощью p: commandButton jsf - PullRequest
2 голосов
/ 09 августа 2010

У меня есть вопрос относительно отправки содержимого формы с p:commandbutton, которое имеет тенденцию работать в режиме ajax.

Если у меня есть код, подобный этому:

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

При отправкеформа с помощью кнопки, будет ли вызван метод getContructor из f: дословно (я обновляю разные части формы)?Как я могу предотвратить его вызов?

Я думал, что при отправке формы отображается только содержимое формы / содержимое, указанное в параметре update.

1 Ответ

0 голосов
/ 09 августа 2010

Это не должно повредить.Если вы делаете там дорогие вещи, то вам следует перенести это в конструктор, @PostConstruct или метод действия рассматриваемого компонента, или ввести ленивую загрузку или сниффинг фазы.

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

См. Также

...