2

p:commandbuttonajaxの方法で機能する傾向があるフォームコンテンツの送信について質問があります。

私がこのようなコードを持っている場合:

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

コマンドボタンを使用してフォームを送信すると、f:verbatimのメソッドgetContructorが呼び出されますか(フォームのさまざまな部分を更新します)?呼び出されないようにするにはどうすればよいですか?

updateフォームを送信すると、フォームのコンテンツ/パラメーターで指定されたコンテンツのみがレンダリングされると思いました。

4

1 に答える 1

0

害はないはずです。そこで高価なことをしている場合は、それをコンストラクター、@PostConstructまたは問題のBeanのアクションメソッドに移動するか、遅延読み込みまたはフェーズスニッフィングを導入する必要があります。

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

も参照してください

于 2010-08-09T12:09:14.493 に答える