2016-08-12 4 views
0

私はstruts 1からstruts 2フレームワークに移行しています。 struts 1のframeworkパラメータ= method属性に基づいて、私は隠されたフィールド "メソッド"を追加することによって同じjspページを使用して異なるメソッドを実行することができます。複数の異なるメソッドを実行するための2つの単一JSPページ

ストラット2ではどのようにして同じことを達成できますか?

マイActionクラス:

public class MyAction extends ActionSupport { 
    public String methodA() { 
     return "a"; 
    } 

    public String methodB() { 
     return "b"; 
    } 
} 

私のJSPページ

<s:form action="MyAction"> 
    <s:select label="Method Name" 
     name="method" 
     headerKey="-1" headerValue="Select Method" 
     list="#{'01':'A', '02':'B', [...]}" 
     value="selectedMethod" 
     required="true" 
    /> 
    <s:submit type="button" name="submit" /> 
</s:form> 

答えて

1

あなたが提出する前に、 "アクション" のURLを変更することでそれを実現できました。

チェックアウトワイルドカード方法動的メソッド呼び出しhere

ものの、動的なメソッド呼び出しではJavaScriptを使用してform.actionを変更Security Vulnerability

+0

と考えることができますか? – youcanlearnanything

+0

@youcanlearnanythingはい、 "document.myform.action = 'actionName_method.action'"のようなものです。これは、たとえばselectのonChangeメソッド内で行うことができます。 (申し訳ありませんが、あなたのケースのための正確なコードを期待している - それを提供することはできません - 時間とリソースの不足のため) – Plirkee

+0

私はそれを得ました。私は他の方法も考えることができませんでした!私はただの代替案があるかどうかを知りたかっただけです。 – youcanlearnanything

関連する問題