a.jsp:
<html>
<head>
</head>
<body>
<s:a href="a.action">testAction</s:a>
</body>
</html>b.jsp
<html>
<head>
</head>
<body>
<s:actionerror />
</body>
</html>a.action:test.aAction
public String inputPage() {
clearErrorsAndMessages();
addActionError((new Date()).toString());
return INPUT;
}struts.xml
<action name="a" class="test.aAction">
<result name="input">b.jsp</result>
</action>当在a.jsp页面上点击链接时,可以正常跳转到b.jsp,并且显示时间正常。但再次在a.jsp上点链接时,时间不会变化,也就是说没有再去执行action。把那个链接改成form里面的提交action也不行,也就是说在转到b.jsp时不会再执行后台的action了。不知是不是IE机制的问题。如果我的功能要求每次点击a.jsp上的链接都必须执行对应的action(比如做些初始化页面的工作),我该怎么办?

解决方案 »

  1.   

    a.jsp: 
    <html> 
    <head> 
    </head> 
    <body> 
    <s:a href="a.action?date"+new Date()>testAction </s:a> 
    </body> 
    </html> 在ACTION中定义date属性,给它get和set方法接这个值,然后再返回给b.jsp,这样可以保证你每次点击连接,页面都执行新的,而不再执行缓存里的东西,道理就是跟弹出模态窗体是一样的。
      

  2.   

    IE-工具-Internet选项-浏览历史记录-设置-选中每次访问页面时
      

  3.   

    楼主怎样再次点a.jsp上的链接啊?点后退再点链接??我感觉没有什么问题啊
      

  4.   

    IE-工具-Internet选项-浏览历史记录-设置-选中每次访问页面时
      

  5.   

    <action name="a" class="test.aAction"> 
    <result name="input">b.jsp </result> 
    </action> 以上配置,会执行execute方法。<action name="a" method="inputPage" class="test.aAction"> 
    <result name="input">b.jsp </result> 
    </action> 
      

  6.   

    <action name="a" class="test.aAction">
    <result name="input">b.jsp </result>
    </action>以上配置,会执行execute方法。<action name="a" method="inputPage" class="test.aAction">
    <result name="input">b.jsp </result>
    </action>说得是,笔误
      

  7.   

    非常感谢各位,问题解决
    http://zhidao.baidu.com/question/55299905.html