编辑:好的,您正在使用 Tiles(我从未使用过),那么我将尝试另一种解决方案:
如果您有一个空的 JSP 磁贴,并且在用户编译了它的字段并提交了表单之后,您希望始终清除这些字段......那么在操作中仅声明 SETTERS 而不是 GETTERS 怎么样?
您只能从 JSP 设置到 Action,但不能从 JSP 中读取它们......那么您的字段在页面中将始终为空,并且始终由 Action 中的 setter 重写。
如果我明白了,你在 JSP 上,你调用 Action(或另一个动作)的方法 saveStuff(),然后你回到页面......
在这种情况下,您可以使用 RedirectAction 返回类型,它将从请求中删除所有参数,并将您的请求重定向到 Action 的 execute() 方法。
所以,而不是
<action name="myAction" class="com.blabla.myAction">
<result name="success">/myPage.jsp</result>
</action>
做就是了
<action name="myAction" class="com.blabla.myAction">
<result name="success">/myPage.jsp</result>
<result name="stuffSaved" type="redirectAction">
<param name="actionName">myAction</param>
</result>
</action>
这样您就可以重新进入初始状态(假设您没有在会话中放置任何由 JSP 读取的内容)。