<s:url>指向的Action只执行一次,清除浏览器缓存文件后又可执行一次。

Action中的方法仅为静态变量赋值,而其他访问数据库的Action可以被重复执行。

起初判断可能是静态变量的内存机制导致不能重复执行。

然后发现清楚浏览器缓存文件后又可以执行一次了,看来原因在Jsp页面这里。

后来搜索相关资料得到jsp不重复提交相同url的相关信息,故推测也许是这个原因。

解决方法:

  在URL中加入时间戳或随机变量:

  Math.floor(Math.random() * ( 1000 + 1));

  new Date().getTime();

  

原文地址:https://www.cnblogs.com/liuxiaoke/p/3462206.html