これは、アクションチェーンを使用している私のStruts 2フローです
JSP--->Action1--->Action2--->ResultJsp
アクション チェーンでは、リクエストがアクション 1 からアクション 2 に転送されることを理解しています。そのため、アクション 1 からアクション 2 にパラメータを渡す場合、新しいアクション インスタンス変数 (新しいアクション用に作成された値スタック) に設定する必要があります。
以下はaction1の私のコードです
@Result(name = "displayEmployee",type = "chain",
params = {
"namespace", "/employee",
"actionName", "Employee-lookup!search",
"empMode", "true"
})
@Action("display-employee!displayEmployee")
public String displayEmployee() {
return "displayEmployee";
}
アクション 2、つまり display-employee では、empMode という名前のブール型プロパティがあります。しかし、結果の注釈で属性として渡しているため、値をtrueにする必要がありますが、値をfalseとして取得します。アクション チェーンに関する私の理解では、すべてのリクエスト パラメータはアクション 1 からアクション 2 に転送されます。基本的に、action1 に存在していた変数を含む action2 の新しい値スタックが作成されます。では、アクション 2 で empMode プロパティに値 true が設定されていないのはなぜでしょうか?