0

struts2 アクションでは、アクション クラスのプロパティ値を設定するためにインジェクションが使用されるため、プロパティはフォーム送信時にフォーム フィールドによって更新されます。どのフォームが送信されたかを検出するために、メソッド呼び出しを作成しisFormSubmitted()、そこでこの目的のためにのみ作成された冗長プロパティをチェックします。プロパティは隠しフィールドで更新されます。しかし、私はこのワークアウトがとても汚いと思います!この問題を解決するには、もっと良い方法が必要だと思います。

私がすることは:

<s:form name="form1">
  <s:hidden name="submit" value="10" />
  ...other fields go here
</s:form>

私が持っているアクションクラスにはgetSubmitsetSubmitメソッドと次のメソッドがあります:

public boolean isFormSubmitted(){
  return (submit == 10);
}
4

3 に答える 3

3

「実行」メソッドだけでなく、アクション内でさまざまなアクションメソッドを呼び出すことができます。「method:actionMethodName」のような名前のパラメータをリクエストに入れるだけです。次に例を示します。

public class MyAction extends ActionSupport {    

  public String execute() {      
    // Base code
    return SUCCESS;
  }

  public String one() {      
    // Code one
    return SUCCESS;
  }

  public String two() {      
    // Code two
    return SUCCESS;
  }    

}

そしてここにjspがあります:

<s:form action="MyAction">
  <input type="submit" value="Call execute"/>
  <input type="submit" name="method:one" value="Call method one"/>
  <input type="submit" name="method:two" value="Call method two"/>
</s:>

または、次のように実行できます。

<s:form action="MyAction" name="form0">
  <!-- call execute-->
</s:>

<s:form action="MyAction" name="form1">
  <!-- call method one-->
  <input type="hidden" name="method:one"/>
</s:>

<s:form action="MyAction" name="form2">
  <!-- call method two-->
  <input type="hidden" name="method:two"/>
</s:>
于 2013-01-14T14:04:05.107 に答える
0

<s:form>特定のアクションに送信するには、タグaction属性を使用する必要があります。

<s:form action="action1">
  ...
</s:form>

<s:form action="action2">
  ...
</s:form>

<s:form>タグのドキュメントを参照してください: http://struts.apache.org/2.x/docs/form.html

アップデート

次に、ユーザーの読み込みと保存に個別のアクションを使用します。

于 2013-01-14T13:19:50.720 に答える
0

このようなフォームの送信を行う必要があります。

<s:form name="form1">
 <s:hidden name="submit" value="10" />
</s:form>

Java スクリプト関数を作成する

function onclick()
{
document.form1.submit();
}

次に、隠しフィールドのアクションでゲッターとセッターを作成します

そして実行メソッドで

    public String execute()
    {
    setSubmit(10);
    return SUCCESS;
}

アップデート :

<a href="your_action_name"></a>

また

  <s:a href="your_action"></a>
于 2013-01-14T13:31:15.717 に答える