3

動的パラメーターを使用してマッピングをリダイレクトしようとしているときに問題が発生しました。

私がStruts2でマッピングしている方法:

<action name="Delete" class="templateLalaAction" method="remove">
    <result name="success" type="redirect-action">
        <param name="actionName">LalaTemplatesDisplay</param>
        <param name="buId">${buId}</param>
    </result>
    <result name="failure" type="redirect-action">
        LalaTemplatesDisplay
    </result>
</action>

アクションのメソッド「削除」:

remove() {

    putRequestAttribute("buId",Long.valueOf("1111"));
    return SUCCESS;
}

これを行うとbuId=1111、 が設定されますが、アプリを実行するurlと、 が で終わりbuId= (it's empty)ます。つまり、パラメーターが渡されません。メソッドにコメントを付けて、putRequestAttributestruts を渡すbuIdパラメーターをstatic値として設定すると、次のようになります。

<action name="Delete" class="templateLalaAction" method="remove">
    <result name="success" type="redirect-action">
        <param name="actionName">LalaTemplatesDisplay</param>
        <param name="buId">1111</param>
    </result>
    <result name="failure" type="redirect-action">
        LalaTemplatesDisplay
    </result>
</action>

それは動作し、でurl終わりbuId=1111ます。

私はまた、受け入れられた回答が私と同じことをすることを教えてくれるこの質問を読みましたが、ユーザーが行ったコメントを読むと、彼が私と同じ問題を抱えていることがわかります。私は間違っている可能性がありますか?

4

1 に答える 1

2

メソッド内で変数を割り当てるだけbuIdで、アクションクラスでゲッター/セッターが必要になります。

public String remove() {
  buId = 1111l;
  return SUCCESS;
}

redirect-actionまた、キャメルケースを使用するための古い構文を使用していますredirectAction

于 2013-01-08T11:34:02.610 に答える