2

ajaxイベントui:compositionで遅延して xhtml ファイルをレンダリングしたい。

新しいui:compositionものは、パネルまたは div 内でレンダリングする必要があります。

レールでは、私はこのようにします

render :partial => "file", :layout => :none

編集

また、レールの部分ビューにローカルを渡す方法もあります

    render :partial => "file", :layout => :none, :locals => {:some_object => @some_object}

これにオブジェクトを送信してビューをレンダリングするにはどうすればよいですか。

xhtml で次のコードを使用しています。

<p:commandButton id="selectButton" value="Add" title="Add User" type="submit"
                                 action="#{userBean.add}">
  <f:ajax render=":userLanding:addPanel"/>                     
</p:commandButton>

私のManagedBeanの中に私は持っています

public String add()
{
   return "user"; // i need to open user.xhtml page.
}

<div id="addPanel">またはより良い<p:panelGroup layout="block" id="addPanel">

userBean#add()私のUIコンテナ内でレンダリングする必要があるabc.xhtmlのレンダリングを担当しています。

現在、ページ (abc.xhtml) にリダイレクトされており、ターゲット パネル/div 内でレンダリングされていません。

このようなビューの読み込みを行う JSF の方法は何ですか?

編集2:

私も試しました:

<h:panelGroup>
    <ui:include src = "user.jsf"
</h:panelGroup>

ただし、条件は次のとおりです。UI インクルードはボタン クリック イベントのみである必要があり、src ファイルはパネル内に表示されます (ナビゲーションなし)。

4

1 に答える 1

0

<f:ajax>PrimeFaces<p:xxx>コンポーネントではサポートされていません。<p:ajax>代わりに、またはこの特定のケースでは、PrimeFacesUICommandコンポーネントの独自のupdate属性のみを使用する必要があります。

<p:commandButton ... update=":userLanding:addPanel" />

nullアクションメソッドがorを返すことだけを確認する必要がありますvoid。それ以外の場合、ナビゲーションは引き続き行われます。

于 2012-10-04T15:05:47.983 に答える