【问题标题】:How do Action class constructors work with Struts2?Action 类构造函数如何与 Struts2 一起工作?
【发布时间】:2012-03-01 16:41:42
【问题描述】:

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

【问题讨论】:

  • 对象将在其任何实例方法执行之前被初始化(通过调用构造函数)。所以你可以在构造函数中编写初始化代码。
  • 所以我不必创建动作类的对象?构造函数将在第一次调用该类时运行?
  • @user1073616 你想在你的方法中使用这些变量吗?
  • @user1073616:S2 有一个内置工厂,负责创建操作的实例
  • @user1073616 不,您不创建动作类对象,框架会为您完成。动作对象是在每次动作调用时创建的,所以不仅是第一次调用。

标签: java constructor struts2


【解决方案1】:

Struts 2 提供了一个 Prepare 拦截器,用于在实际执行方法运行之前准备数据。此拦截器在实现 Preparable 的操作上调用 prepare()。 在您的操作类中使用 prepare 方法的一些用例是

  1. 从数据库中加载一个对象,以便在设置参数时可以在该对象上设置它们。
  2. 在实际方法调用之前准备/初始化所需的任何数据。

简而言之,这个拦截器就像 Action 类的初始化/构造函数,您可以控制初始化任何必需的参数或进行任何初始查找。

详情参考拦截器页面 prepare-interceptor

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 2020-03-20
    • 2013-10-23
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    相关资源
    最近更新 更多