ActionForward总结

一般用法,全局与局部,动态修改Struts配置文件,手动完成转向.动态 ActionForward

全局ActionForward配置

<global-forwards>
<forward name="success" path="/WEB-INF/jsp/login_success.jsp" />
<forward name="error" path="/WEB-INF/jsp/login_error.jsp" />
</global-forwards>

struts-config.xml文件不能在运行期修改

  LoginActionForm laf=(LoginActionForm)form;

String username=laf.getUsername();
String password=laf.getPassword();
if("admin".equals(username)&&"admin".equals(password)){
return mapping.findForward("success");
}else{
return mapping.findForward("error");
}
mapping.setAttribute("att");//这里这样动态的去修改是会报错的,不能这样去修改
LoginActionForm laf=(LoginActionForm)form;
String username=laf.getUsername();
String password=laf.getPassword();

手动完成转向:

在Action必须返回null给struts框架,而不是ActionFowrad对象,自己用request或是response来进行转向,一般不建议这样做,除非你有特殊的需求,如要输出jfreeChart图片


动态的ActionForward,动态的ActionForward可以运行期修改,即是自己在Action中自己new 一个ActionForward返回给struts框架,这样更灵活,那么在代码中就动态的去修改配置:

public class DynaActionForwardTestAction extends Action {


@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
int page = Integer.parseInt(request.getParameter("page"));
ActionForward af = new ActionForward();
af.setPath("/page" + page + ".jsp");
return af;
/*
ActionForward af = null;
if (page == 1) {
af = mapping.findForward("page1");
}
if (page == 2) {
af = mapping.findForward("page2");
}
return af;
*/
}

被注释部分是一般性的做法


}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yjsuge

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值