Java Struts 2中某些Struts 1方法的替代方法
我已经编写了一些在Struts 2中实现Struts 1功能的方法 Struts 1Java Struts 2中某些Struts 1方法的替代方法,java,struts2,struts,struts-1,actionresult,Java,Struts2,Struts,Struts 1,Actionresult,我已经编写了一些在Struts 2中实现Struts 1功能的方法 Struts 1ActionForward: new ActionForward("/home/ShowPage.do?page=edit",true); 与我在Struts 2中所做的相同: public String myActionForward(String url,boolean isRedirect) throws Exception { if(isRedirect){ response.s
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);
String url = mapping.findForward(result).getPath();
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 1:获取结果路径:
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);
String url = mapping.findForward(result).getPath();
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中所做的相同:
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);
String url = mapping.findForward(result).getPath();
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);
公共字符串myGetPath(字符串结果)引发异常
{
映射结果=ActionContext.getContext().getActionInvocation().getProxy().getConfig().getResults();
ResultConfig rc=results.get(结果);
字符串路径=rc.getParams().get(“位置”);
返回路径;
}
字符串url=myGetPath(结果);
就像这样,我在Struts 2中编写了一些替代方法
上述替代方法效果良好。但是我需要知道,这些方法在将来会有什么问题吗?或者我需要改变上述方法中的任何内容,以实现与Struts 1相同的效果 您应该使用Struts2
Result
实现,而不是直接使用servlet,直到您知道自己在做什么。有redirect
或redirectAction
和dispatcher
结果类型,应该使用它们来代替直接servlet API。Struts可能会包装servlet内容以进行某些功能更改,将来可能会得到无法工作的代码
第二种方法是有效的,因为它使用Struts2 API。然而,你需要看看