2012-03-01 61 views
1

我直接转发到我的操作类中的一个方法(通过struts.xml),但我实际上并没有创建一个Action类的新实例。我问,因为在使用ActionClass完成任何事情之前,我有一些变量需要设置,我认为构造函数可能会帮助我做到这一点。Action类构造函数如何与Struts2一起使用?

+3

对象将被初始化(通过调用构造函数)任何实例方法被执行之前。所以你可以在构造函数中编写初始化代码。 – JProgrammer 2012-03-01 16:50:28

+0

所以我不需要创建动作类的对象?构造函数将在第一次调用该类时运行? – user1073616 2012-03-01 16:52:07

+1

@ user1073616你想在你的方法中使用这些变量? – 2012-03-01 16:54:24

回答

2

S2提供了一个Prepare Interceptor来在实际的实际执行方法运行之前准备好你的数据。这个拦截器调用prepare()实现了Preparable的action。 一些使用在动作类准备方法的使用情况是

  1. 负载从数据库中的对象,这样,当参数设置,他们可以在此对象上设置。
  2. 准备/初始化实际方法调用之前需要的任何数据。

简而言之,这个拦截器就像Action类的init/constructor一样,你可以控制任何需要的参数或执行任何初始查找。

有关详情请参阅拦截页面 prepare-interceptor

相关问题