如何在 Struts 2 中向我的所有视图公开一个对象?

2024-03-03

我有一个使用 Struts 2 和 Freemarker 模板以及 Spring 4 的 Web 应用程序。

我有一些配置字符串存储在.properties我需要在每个页面上呈现的文件(例如,我们的 CDN 路径,其中包含版本字符串)。现在这些属性由 Spring 读取并存储在一个实例中org.springframework.core.env.Environment.

有没有一种简单的方法可以让我的Environment我的所有视图都可以访问实例吗?

我们有另一个应用程序,它通过操作继承来完成此操作,其中基类有一个getEnvironment()方法。我不喜欢这种方法,因为每个操作都必须扩展基类。


将您的逻辑放入一个 bean(例如 Configuration.java)中,然后将其注入(通过 Spring DI、Java EE CDI 或其他方式)到所有需要它的操作中,并通过 Getter 公开。

但我不会低估继承方法here,它并不像您描述的那么糟糕,因为您可以在遍历继承树时添加规范来构建继承树:一个 BaseAction、一些 Sub-BaseActions、一些子子...等等。阅读更多 https://stackoverflow.com/a/13530194/1654265.

如果您后来发现同级 BaseAction 需要您放在 BaseAction 上的内容,只需将其向上移动一级(在父 BaseAction 中,直到第一个 BaseAction,每个人都通用)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Struts 2 中向我的所有视图公开一个对象? 的相关文章

  • 查看登录设备

    我想查看Log在设备上 即System out println 我可以查看DDMS但如何在运行时在设备屏幕上查看APK文件 还有一个适用于 Android 的 Logcat 应用程序 code google com p android ra
  • 如何在angularjs中读取pdf流

    I got the following PDF stream from a server 如何在 AngularJS 中读取这个流 我尝试使用以下代码在新窗口中将其作为 PDF 文件打开 success function data wind
  • Java程序在没有定义main方法的情况下如何运行?

    我正在浏览一些 Java 源代码并注意到main方法未定义 Java如何编译源码却无从下手 The main方法仅在 Java 虚拟机执行代码时使用 没有 a 则无法执行代码main方法 但仍然可以编译 编译代码时 通常在命令行上指定一组文
  • Servlet 包含 Tomcat 中的 HTTP 标头

    我有一个 servlet 它的请求调度程序包含另一个 servlet 包含的 servlet 设置了我想在包括小服务程序 因此 我在 include 方法中传入一个自定义 HTTPResponse 对象 该对象捕获来自 servlet 的所
  • 我收到异常: java.lang.IllegalStateException: getOutputStream() 已被调用用于此响应

    我想编写代码来下载保留在我的系统中的文件 这是我的代码 在控制器类中 我有以下映射 RequestMapping value processFile method RequestMethod POST public ResponseBody
  • Checkstyle 规则防止调用某些方法和构造函数

    是否可以使用 Checkstyle 来禁止使用某些使用系统相关默认值 区域设置 字符集等 的构造函数或方法 我更喜欢强制执行一项政策 程序员应该明确了解系统相关的值 所以我认为以下物品是危险的 all the constructors of
  • 无法在IntelliJ IDEA中编译和运行java代码

    使用 IntelliJ IDEA 版本 12 1 6 我想运行 Horstmann Core Java 书中的示例 public class Welcome public static void main String args Strin
  • Swing 是否支持 Windows 7 风格的文件选择器?

    我刚刚添加了一个标准 打开文件 与我正在编写的一个小型桌面应用程序的对话 基于JFileChooserSwing 教程的入口 http download oracle com javase tutorial uiswing componen
  • Apache POI - JAVA - 迭代 Excel 中的列

    这里是java新手 我正在编写一个代码 该代码读取 Excel 文件 查看列中的单元格 然后编写如下表所示的内容 我有一个 Excel 文件 如下所示 col1 col2 col3 col4 row1 2 3 1 1 w row2 3 2
  • 在其抽象超类中使用子类的泛型类型?

    在我的代码中有以下抽象超类 public abstract class AbstractClass
  • 导入数据期间解析日期格式的最佳方法

    我创建了在数据导入 400 K 记录 期间解析视图不同日期格式的方法 我的方法捕获 ParseException 并尝试在不同时使用下一种格式解析日期 问题 在数据导入期间设置正确的日期格式是更好的方法 更快 吗 private stati
  • Spring JPA (Hibernate) Entity Manager 何时将连接返回到连接池?

    在我的 java 进程中 我使用以下 spring 配置连接到 MySql Configuration EnableTransactionManagement PropertySources PropertySource classpath
  • GAE、JPA、XG 事务、实体组过多异常

    我知道 GAE 上的 XG 交易有 5 个实体组的限制 但我认为我在一项交易中仅使用 3 个组 商品 类别 商品类别 但仍然遇到此异常 引起原因 java lang IllegalArgumentException 在单个事务中对太多实体组
  • 蓝牙连接;无法正确发送字符串

    当我需要将字符串从服务器蓝牙套接字发送到客户端蓝牙套接字时 我的程序遇到了麻烦 只要我一次只发送一个字符串 例如聊天 一切都可以正常工作 但是如果我需要在短时间内编写更多字符串 以交换信息 则字符串将不会与客户端代码分离 例如 如果我发送
  • 遍历多行字符串

    我得到一些数据 def data some useless text n even more n finally interesting text 我怎样才能得到其中 有趣的部分 所以基本上所有行都不是以 开头的 Groovy 的一种选择是
  • 如何使用 Java 11 和 JavaFX 11 运行 ControlsFX 示例应用程序

    ControlFX 网站 http fxexperience com controlsfx says 如果您想使用 ControlsFX 示例应用程序 只需 下载 ControlsFX 版本并在上运行以下命令 命令提示符 请务必将 替换为实
  • OutputStream 到 DB2 数据库表的 BLOB 列

    在 DB2 数据库中 我有下表 CREATE TABLE MyTestTable MYPATH VARCHAR 512 NOT NULL MYDATA BLOB CONSTRAINT MYTESTTABLE PK PRIMARY KEY M
  • 如何为Spring测试创建TestContext?

    我有一个相对较小的 Java 库 它实现了几十个 bean 没有数据库或 GUI 我创建了一个 Spring Bean 配置文件 其他 Java 项目使用该文件将我的 bean 注入到他们的东西中 我现在第一次尝试使用 Spring Tes
  • Spring Data 中 IQueryable 的等效项

    我习惯了 Net 和 LINQtoEntities 尤其是 IQueryable 部分 它允许在获取结果之前通过不同的函数传送请求 Spring数据中是否存在类似的东西 或者任何其他 java ORM 我希望能够做的基本示例 private
  • Activity 在 Android 上创建两次

    首先 我是 Android 开发新手 所以请耐心等待 我将从用户界面开始 我有一个按钮 一旦您点击它 就会启动一个活动以获取结果 public class GUIActivity extends Activity Override publ

随机推荐