日期:2014-05-17  浏览次数:20688 次

Struts2 action失败后页面的链接变成***.action
JSP页面: 提交表单到Login.action
Struts.xml: 
  <action name="Login" class="mwgalaxy.action.LoginAction">
  <result name="success" type="redirect">index.jsp</result>
  <result name="failure" type="dispatcher">
  <param name="location">/login.jsp</param>
  </result>
  </action>

如果在LoginAction返回failure的情况下,浏览器会指向login.jsp,但是URL变成了Login.action, 如何让URL还是login.jsp?
如果把type="dispatcher"变成"redirect",URL确实是login.jsp,但是用户原先输入的内容都没了。

如何解决URL变化的问题,谢谢!

------解决方案--------------------
Url是Login.action没什么不好呀
因为你访问的本来就是LoginAction,而不是login.jsp
如果直接在地址栏输入login.jsp,访问的是未经后台(LoginAction)准备的jsp文件
这两者本来就不一样
------解决方案--------------------
redirect是重定向,它是不能取到request值得,所以用户原先输入的内容都得不到,你要是不想用LoginAction,就用个伪地址吧
------解决方案--------------------
用jstl吧
------解决方案--------------------
用redricetAction可以设置<param>属性传递到页面。
------解决方案--------------------