标签: 杂谈
ActionForward详细介绍
之前说了很多关于actionForm的内容,今天就来讲解下struts种另一个比较重要的内容actionForward,相信通过前面的学习,大家对actionForward已近不陌生了,这篇文章就是来系统讲解一下actionForward的。
标签: 杂谈 |
ActionForward详细介绍
其实通常我们都没写redirect属性,而是采取的是它的默认值false,表示的是转发,如果设置为true,即为重定向。
- <global-forwards>
-
<forward name="success" path="/login_success.jsp"/> - </global-forwards>
- ActionForward
af = mapping.findForward("login"); - af.setRedirect(false);
这样当然也是可以的啦,不过记住要重启服务器,因为struts-config.xml文件不允许动态修改。
- @Override
-
public ActionForward execute(ActionMapping mapping, ActionForm form, -
HttpServletRequest request, HttpServletResponse response) -
throws Exception { -
-
//重定向 -
response.sendRedirect(request.getContextPath() + "/login.jsp"); -
return null; -
-
}
注意:return null是必须的。
-
<action path="/dynaactionforward" -
type="com.bjsxt.struts.DynaActionForwardTestAct ion" -
> -
-
<forward name="page1" path="/page1.jsp"/> -
<forward name="page2" path="/page2.jsp"/> -
-
</action> - </action-mappings>
- <form
action="dynaactionforward.do" method="post"> -
页面:<input type="text" name="page"><br> -
<input type="submit" value="提交"> -
</form>
- public
class DynaActionForwardTestAct ion extends Action { -
@Override -
public ActionForward execute(ActionMapping mapping, ActionForm form, -
HttpServletRequest request, HttpServletResponse response) -
throws Exception { -
-
String page = request.getParameter("page"); -
ActionForward af = null; -
if ("1".equals(page)) { -
af = mapping.findForward("page1"); -
}else if ("2".equals(page)) { -
af = mapping.findForward("page2"); -
} -
return af; -
-
} - }
- public
class DynaActionForwardTestAct ion extends Action { -
@Override -
public ActionForward execute(ActionMapping mapping, ActionForm form, -
HttpServletRequest request, HttpServletResponse response) -
throws Exception { -
-
String page = request.getParameter("page"); -
ActionForward af = new ActionForward(); -
af.setPath("/page" + page + ".jsp?name=Tom"); -
return af; -
} - }