ssh开发关于struts2,action中方法执行两次的问题
前段时间发现了一个很奇怪的问题,我的项目中关于action中的某些方法执行两次。我用debug跟踪了很多次,总找不到原因。突然不知道从何下手,网上找了很多资料,论坛提问也没解决问题。
今天晚上闲来无事,就决定重新彻底的检查一遍。把配置文件和所有与此方法有关的java代码都查遍了也没什么问题。
只剩下方法执行成功后跳转的页面了,其实怎么也没想到是这个页面出的问题。
从页面代码一行一行的测试,终于找出来了。
我的页面有下面这样的代码:
<table width="800" border="0" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th colspan="6" background="#FFF">查询结果如下:</td>
</tr>
</thead>
......
</table>
出问题的代码就是这句:background="#FFF"
把这句去掉就只执行一次了。不知是struts2有这样的bug,还是其他什么原因。
网上有很多朋友解释action执行两次的问题,原因是js和submit两次提交,或者是页面有一个<img src="" /> 或者是:链接标签 herf=""等
我这个原因好像很少见到过,<th background="#FFF">。
以后页面上尽量不要使用一些非法标签了。