日期:2014-05-20  浏览次数:20794 次

急!!!!struts2的几个奇怪的问题
1.为什么struts2的Action处理请求的时候每次都重复处理一次,就是一个请求处理两次。
我跟踪之后发现第一次运行返回SUCCESS之后又从头开始运行,这样大多数情况下都有异常,但是前台页面是正常的,后台打印异常。
有没有人遇到过类似的问题啊

对了,Action是在spring工厂里初始化的,scope参数为"request"

2.一下表单
<table align="center">
<form action="<%=basePath %>register/Register.action" method="post" name="register" onsubmit="return registerUser()">
  <s:textfield name="userName" label="User Name" />
  <s:password name="password1" label="Password" />
  <s:password name="password2" label="Confirm" />
  <s:submit value="注册" />
<form>
</table>

解析之后
<table align="center">
<form action="http://localhost:8080/cn.org.act.sdp.repository.newfront/register/Register.action" method="post" name="register" onsubmit="return registerUser()">
  <input type="text" name="userName" value="" id="userName"/>
  <input type="password" name="password1" id="password1"/>
  <input type="password" name="password2" id="password2"/>
  <input type="submit" id="" value="注册"/>
<form>
</table>
我记得原来都是包装在<tr>和<td>元素之中,而且label元素也显示出来,现在不知道为什么这样了?tomcat容器...
有没有人遇到过类似的问题啊...先谢谢了

------解决方案--------------------
第一:你的问题很诡异。二:你的form的onsubmit="return registerUser()"> 为啥写到form中。把它放到Button中
------解决方案--------------------
这个registerUser()函数做了什么动作,是不是仅仅是验证?如果它有提交的话,你的submit按扭又提交一次,肯定是两次了,如果这个函数只是验证没做提交的话,那我就不知道了
------解决方案--------------------
你把scope参数去掉试试,它默认的是prototype
------解决方案--------------------
检查一下是不是你表单的问题 ,造成了多次提交?
------解决方案--------------------
怎么会提交两次啊!肯定是你写的不对,把那个form里的事情去掉,加到submit按钮里吧!