1

Struts 2 で Struts 1 の機能を実現する方法をいくつか書きました。

ストラット 1 ActionForward:

new ActionForward("/home/ShowPage.do?page=edit",true);

Struts 2で行ったのと同じ:

public String myActionForward(String url,boolean isRedirect) throws Exception
{
    if(isRedirect){
        response.sendRedirect(url);
    }else{
        RequestDispatcher rd = request.getRequestDispatcher(url);
        rd.forward(request, response);
    }
    return null;
}
myActionForward("/home/ShowPage.do?page=edit",true);

Struts 1: 結果パスを取得するには:

String url = mapping.findForward(result).getPath();

Struts 2で行ったのと同じ:

public String myGetPath(String result) throws Exception
{
    Map<String,ResultConfig> results = ActionContext.getContext().getActionInvocation().getProxy().getConfig().getResults();
    ResultConfig rc = results.get(result);
    String path = rc.getParams().get("location");
    return path;
}

String url = myGetPath(result);

そのように、私は Struts 2 でいくつかの代替メソッドを書きました。

上記の代替方法は正常に機能しています。しかし、私は知る必要があります.これらの方法は将来的に問題を引き起こすか、Struts 1と同じことを達成するために上記の方法で何かを変更する必要があります.

4

1 に答える 1