0

JSF 2 Trinidad 2(MyFaces) を使用しており、コマンド ボタンで f:param を使用しようとしています。

<tr:commandButton text="Submit" action={backingBean.actionSubmit}>
<f:param name="isSubmit" value="Yes" />
</tr:commandButton>

基本的に、送信ボタンのパラメーター値を渡して、送信ボタンがクリックされた場合にのみ検証を実行して、入力要素の必須属性に条件を追加して送信ボタンをチェックしようとしています。

検証メソッドでそのボタンのクリックを確認できるように、JSF2/Trinidad2 で特定のボタンのクリックを識別する方法はありますか。

4

2 に答える 2

0

私は JSF 1.2 を使用していますが、JSF 2.0 でも同じように動作すると思います。

commandButton には、アクションの代わりに actionListener を使用します。

<tr:commandButton text="Submit" actionListener={backingBean.actionSubmit}> 

Bean 内で、ボタンの ID を取得できます。

public void actionSubmit(ActionEvent event)
{
   event.getComponent().getId();
}
于 2012-01-24T06:39:39.530 に答える
0

の使用を検討できます<tr:setActionListener/>。あなたの場合、次のようなものを使用できます:

<tr:commandButton text="Submit" action="#{backingBean.actionSubmit}">
  <tr:setActionListener from="submit" to="#{backingBean.pressedButton}" />
</tr:commandButton>

from基本的に、属性から属性にオブジェクトをコピーするために使用しtoます。from属性でもEL を使用できることに注意してください( #{someBean.someObject})。

バッキング Bean では、 (ゲッターとセッターを使用して)というStringメンバーを追加する必要があります。pressedButtonこれで、次のコードをactionSubmit

if ("submit".equals(pressedButton))
{
  System.out.println("You pressed 'sumbit'");
}
于 2012-08-28T08:13:58.440 に答える