Вопрос

У меня есть вопрос, касающийся подачи содержимого формы с 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: verbatim (я обновляю разные части формы)? Как я могу предотвратить его быть называться?

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

Это было полезно?

Решение

Это не должно повредить. Если вы делаете дорогой там, то вы должны переместить это в конструктор, @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;
}

Смотрите также

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top