3

タグ内にページのタイトルを含めて、f:ajaxそのコンテンツも実行時に更新されるようにする方法はありますか?現在、私のf:ajaxタグは次のようになっています-

<f:ajax render="@form">

h:headタグにIDを追加し、そのIDをf:ajaxタグの'render'プロパティに追加しようとしましたが、そうすると、ページの読み込み時にエラーが発生します-

<f:ajax> contains an unknown id 'pageHead' - cannot locate it in the context of the component B1

乾杯、eRez

4

1 に答える 1

5

興味深い質問です。ページタイトルを再レンダリングする ajax のレンダリング (@form など) には、そのようなコマンドはないと思います。あなたができることは、次のように、または他の「グループ化」コンポーネント(たとえば、ダニエルが言ったように)でラップ<title>することです:<h:form>h:panelGroup

    <h:form id="titleForm">
        <title>#{fooBean.fooTitle}</title>
    </h:form>

そして、ajax update を呼び出します。ボタン付き:

        <h:commandButton immediate="true" value="Change title">
            <f:ajax event="click" render=":titleForm"  listener="#{fooBean.changeTitle}"/>
        </h:commandButton>

豆:

  private String fooTitle;

  public void changeTitle() {
        this.fooTitle= "updatedTitle";
  }
// getter/setter

他に何ができるかわかりませんが、これでうまくいくはずです。したがって、ラップtitle<h:form id="...">てから ajax からレンダリングします。

于 2012-04-15T17:57:43.943 に答える