问题描述
问题:技术:struts2。我现在有个注册用户表单提交后,当我输入两次密码不正确时,再提交,结果老是返回input的结果页面,action里面的方法连进都不进。但我输入其他数据时,比如正常注册,用户已存在的情况 ,这些数据时就正常跳转。这是为什么啊?就我的页面 action: userAction!register.action配置文件struts.xml:<action name="userAction!*" class="userAction"><result name="input">/WEB-INF/pages/authority/userEdit.jsp</result> <result name="register">/register.jsp</result> <result name="login">/login.jsp</result></action> 注:我的方法正常,就是当数据不同时,它居然乱跳,不进入我的action方法,直接返回我的input配置结果页面
解决方案
既然存在正常跳转的情况,说明你的程序和配置都正确!但是有些情况是连action方法都不进去,应该是被某种验证拦截掉了。看看你的struts验证文件 *validate.xml 是否配置了密码不一致的功能,因为如果是这个情况的话,就正如楼主所说的,会直接跳到 input配置页面了。
解决方案二:
jsp页面和action页面能改出不?
解决方案三:
引用不进入我的action方法,直接返回我的input配置结果页面还可以这么干?
解决方案四:
你输入两次密码,如果不同了,你是否做些判断了.在后台里面(action里面)?
解决方案五:
我怀疑是和SPring整合的问题,看你这里class="userAction",因该是把你的Action交给Spring管理了。但是Spring bean默认的是单例的,所以你每次请求Action其实还是那一个实例。。将你配置action 的bean 加一个属性scope="prototype" 就可以了,这样就会为每一个请求生成一个Action实例!
解决方案六:
描述的不够详细,把action列出来看看就明白 了