Struts 1 から Struts 2 へのアプリケーションの移行中
一部の場所では、リクエスト パラメータに基づいて、同じアクション クラスが異なるタイプのビューに使用されています。
例: が 1 の場合は、createType
1 つのパラメーターを追加する必要があることcreateType
を意味し、が 2 の場合は、さらに追加のパラメーターを追加する必要があることを意味しますActionForward
。
struts-config.xml
:
<action path="/CommonAction" type="com.example.CommonAction" scope="request">
<forward name="viewAction" path = "/ViewAction.do"/>
</action>
アクション クラス:
public class CreateAction extends Action
{
public ActionForward execute(ActionMapping m, ActionForm f, HttpServletRequest req, HttpServletResponse res) throws ServletException, Exception
{
String actionPath = m.findForward("viewAction").getPath();
String createType = req.getParameter("createType");
String params = "&action=view";
if("1".equals(createType)){
params = params + "&from=list";
}else if("2".equals(createType)){
params = params + "&from=detail&someParam=someValue";
}//,etc..
String actionUrl = actionPath+"?"+params;
return new ActionForward(actionUrl);
}
}
しかし、Struts 2 で同じことを行うことはできませんActionForward
。Struts 2 で動的パラメーターを変更する可能性はありますか?