1

JSF 2ベースのアプリケーションで 1 つの問題に直面しました。rich:menuItem
を通過する値とともに、あるビューから別のビューへのナビゲーションを使用したかったのですが、

  1. だから私はh:outputLinkを使用しようとしましたが、それもナビゲートしますが、必要な結果セットを表示するためにナビゲートする前に渡したい値を渡しません。
  2. a4j:commandLinkについても同じです。
  3. 次に、a4J:commandButton自体を使用して、action と actionListener を使用してこれを実行しました。ここで、アクションは次のビューに移動し、リスナーは値を必要なクラスに渡し、「リスナーはアクションの前に呼び出されます」。これを行うためのコードは....

    <rich:menuItem ajaxSingle="true">
         <a4j:commandButton value="Show Particulars" action="details" event="onclick" actionListener="#{payeeParticularsController.showParticulars}"/>
    </rich:menuItem>        
    

しかし、このボタンは非常に使いにくそうです。
したがって、outputLink、commandLink、rich:menuItem (実行するのが最適です)、またはその他のユーザーフレンドリーな方法を使用して、これを行うのを手伝ってくれる人はいますか?

4

2 に答える 2

2

役に立ったら、この方法で試してみてください

<h:commandLink id="btn" value="Show Particulars" action="{payeeParticularsController.showParticulars}">
     <f:param name="menuItem" value="#{}" />
 </h:commandLink>

コマンド リンクがメニュー項目をパラメーターとして受け取る場所

更新:豆の中

public String showParticulars(){
   // get the f:parama value using facesContect
   // use it as required
   ...
   return "\newView.xhtml";
}

更新 2:

上記の方法でうまくいかない場合は、この方法を試してください

 <rich:menuItem submitMode="ajax" value="Show Particulars" action="#{Bean.showParticulars}" >
 </rich:menuItem>

Beanは次のようになります

public String showParticulars() 
{
      ..
return "/logout.xhtml";
}

submitMode="ajax" は、それを commandLink として機能させるのに役立ち、Bean の show specifics() は別のビューに移動します

于 2012-05-11T06:41:55.867 に答える
1

これを試して。それは私のために働いています。

<rich:menuItem submitMode="none">
   <h:commandLink value="Show Particulars" action="details" actionListener="#{payeeParticularsController.showParticulars}"/>
</rich:menuItem>

または ajax がある場合

<rich:menuItem submitMode="none">
   <a4j:commandLink value="Show Particulars" reRender="body" action="details" actionListener="#{payeeParticularsController.showParticulars}"/>
</rich:menuItem>

そして、メニューで属性immediate="true"を使用することをお勧めします。

参照 : http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/rich_menuItem.html

于 2013-03-14T11:58:39.290 に答える