struts2 如何像struts1 那样在action 中直接跳转页面并能保存request 数据呢?
struts1:
return mapping.findForward("toJSP"); xml文件中配置
return new ActionForward("/aaa.jsp"); action指定位置struts2 如何能在action中随意跳转呢?本人做的项目 有一个登陆的 LoginAction
未登陆用户 只能浏览, 当用户要执行除浏览外的操作时 会提示让用户登陆.在每个页面的头部都有执行登陆的条件.就是想 用户可能从不同页面登陆, 要实现 LoginAction 处理完登陆后再回原来页面 (从哪来回哪去),由于jsp页面比较多(200+),全部在struts2.xml 中配置不现实,
response.sendRedirect(targetUrl) 能跳转但是不能保持数据.
由于action 中 会有很多数据要保存数据,且只在下个页面使用一次.所以存在session中不合适.所以想问问有没有像struts1--- return new ActionForward("/aaa.jsp"); action指定位置这个跳转方法.
struts1:
return mapping.findForward("toJSP"); xml文件中配置
return new ActionForward("/aaa.jsp"); action指定位置struts2 如何能在action中随意跳转呢?本人做的项目 有一个登陆的 LoginAction
未登陆用户 只能浏览, 当用户要执行除浏览外的操作时 会提示让用户登陆.在每个页面的头部都有执行登陆的条件.就是想 用户可能从不同页面登陆, 要实现 LoginAction 处理完登陆后再回原来页面 (从哪来回哪去),由于jsp页面比较多(200+),全部在struts2.xml 中配置不现实,
response.sendRedirect(targetUrl) 能跳转但是不能保持数据.
由于action 中 会有很多数据要保存数据,且只在下个页面使用一次.所以存在session中不合适.所以想问问有没有像struts1--- return new ActionForward("/aaa.jsp"); action指定位置这个跳转方法.
out.print(turn);
这个好说.!
在你的action里面增加一个属性 private String headUrl; 添加set/get
每次来的时候, headUrl = ServletActionContext.getRequest().getHeader("referer");
在你的action中配置
<result>${headUrl}</result>
当然登陆失败就直接继续login.jsp呗
return "sucess" 然后在xml的
<action>
<result name="success">/index.jsp</result>
谢谢, 登陆跳转没问题了, 可是另外一个地方也用到这个
当从 action 中跳转回来后再次提交表单,
此时action中 getHeader("referer")得到的是路径是action 的路径,自然报404.我明白为狠么会这样,可是不知道怎么解决, 当action 中跳转出来之后 不刷新, 如何再次进入次action 并能成功出来?