我有一个
public String add() {
         icpServerService.save(icpServer);
return "list";
}
方法还有一个验证这个方法的
public void validateAdd() {
if(!icpServerService.validate(icpServer)) {
addActionError("该集成服务器已经存在.");
}
}
方法,如果执行到了if条件里面我就返回我提交的那个页面,并用<s:actionerror />显示上面加进去的错误信息。为什么当它返回到我提交的那个页面后我重新再输入数据,这次的数据是不存在的,也就是没有进入到if条件里面去,但它为什么仍然返回到了我提交的那个页面,而且仍然显示"该集成服务器已经存在"已存在,这次不是没有进入到if条件里面吗?为什么<s:actionerror />还会打印出这些信息啊,并且怎么就又返回到了我提交的那个页面,那个"list"返回的不是我提交的页的啊

解决方案 »

  1.   

    <bean id="sdv014Action" scope="prototype" class="sls.szk.debug.struts.action.dchek.vdtr.SDV014Action"></bean>
      

  2.   

    先检查一下数据是否真正的添加到了数据库中。检查是否验证方法每次提交都调用一次,确定action配置文件是正确无误的清除服务器缓存重新运行如果还有问题请再具体说明
      

  3.   

    LZ整合spring了吗。整合spring用的。
      

  4.   

    那按2楼的给你的方法把你的struts2中的action在spring中的配置设置为prototype(原型模式)吧如果不设置的话,action默认为单例模式的