我希望在Struts 2中加载页面时调用prepare()
方法。
我的理解是,如果我在我的操作上实现Preparable
接口,prepare()
方法应该在页面加载时自动触发。它是否正确?或者是否需要任何其他配置?
我问,因为这就是我所做的,而且只有在执行方法触发之前点击按钮时才会触发准备方法。
我希望在页面加载之后/之前触发prepare方法以填充操作上的属性。我怎么能这样做?
答案 0 :(得分:2)
prepare()
在执行Preparable
操作时执行。
如果它没有触发,那么你的prepare()
方法要么是错误的操作,要么你最初没有通过动作访问页面(例如,点击普通的JSP),或者是拦截器堆栈配置问题
答案 1 :(得分:1)
我的理解是,如果我实现了Preparable接口 我的动作,即prepare()方法应该自动触发时 页面加载。
根据我的理解这是不正确的。 prepare方法用于准备execute()方法或Action类的任何其他worker方法使用的一些数据,因此在来自浏览器的请求的worker方法之前调用。
在页面加载时调用prepare()方法将是编程上的麻烦,因此应该避免。尝试以其他方式设置属性
希望这会有所帮助:)