-1

我想prepare()在 Struts 2 中加载页面时调用该方法。

我的理解是,如果我Preparable在我的操作上实现接口,则该prepare()方法应该在页面加载时自动触发。这个对吗?或者是否需要其他配置?

我问是因为这是我所做的,并且准备方法仅在单击按钮时触发,就在执行方法触发之前。

我希望在页面加载之后/之前触发 prepare 方法以填充操作的属性。我怎样才能做到这一点?

4

2 回答 2

3

prepare()执行Preparable动作时执行。

如果它没有触发,那么您的prepare()方法要么在错误的操作中,要么您最初没有通过操作访问页面(例如,点击普通 JSP),或者存在拦截器堆栈配置问题。

于 2013-03-19T16:20:35.497 回答
1

我的理解是,如果我在我的操作上实现 Preparable 接口,prepare() 方法应该在页面加载时自动触发。

据我了解,这是不正确的。prepare 方法用于准备一些数据,以供 execute() 方法或 Action 类的任何其他工作方法使用,因此在来自浏览器的请求的工作方法之前调用。

在页面加载时调用 prepare() 方法在编程上会很麻烦,因此应该避免。尝试以其他方式设置属性

希望这可以帮助 :)

于 2013-03-21T11:33:22.820 回答