Struts2 - 如何在页面加载时调用prepare()方法?

时间:2013-03-19 16:12:02

标签: java struts2 interceptor

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

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

我问,因为这就是我所做的,而且只有在执行方法触发之前点击按钮时才会触发准备方法。

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

2 个答案:

答案 0 :(得分:2)

prepare()在执行Preparable操作时执行。

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

答案 1 :(得分:1)

  

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

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

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

希望这会有所帮助:)