struts2 java web 应用程序的应用程序属性

问题描述 投票:0回答:1

我是 Struts2 框架的新手,我正在尝试添加一些配置属性,如

applicationId
timeout
等,它们将用于调用一些第 3 方 API。在 Springboot 项目中,我们通常保留
application.properties/application.yml
文件,我们可以使用
@Value
@ConfigurationProperties
注释访问值,Struts2 中的等效功能是什么?此外,将这些密钥存储在属性文件中是否安全(没有密码只有唯一标识符)

java struts2 app-config
1个回答
0
投票

Struts2 将其配置保存在

struts.xml
struts.properties
文件中,这些文件已在应用程序启动时加载和解析。这些属性可以在您的应用程序的任何地方访问,甚至可以通过依赖注入。

但是还有另一种方法可以使用属性文件配置您的操作。它被称为消息资源属性。您可以在 struts.xml 或 struts.properties 文件中配置它们。键/值通过

加载

在通过 getText() 方法扩展 ActionSupport 的动作类中

有很多地方和属性可以配置。关于它的一切都在本地化指南中进行了描述。

为了您的目的,您可以使用全局属性或自定义文本提供程序。

struts.properties中的全局资源(struts.custom.i18n.resources) 可以通过编程方式指定全局资源包以及语言环境。

与 Struts 1 的比较 Struts 1 用户应该熟悉 application.properties 资源包,您可以在其中放置应用程序中将要翻译的所有消息。不过,Struts 2 拆分了资源包

仅使用全局包 如果您不需要使用 package-scan-functionality 并且仅基于全局包(那些由框架和通过 struts.custom.i18n.resources 提供的包),您可以使用现有的 GlobalLocalizedTextProvider 实现。要使用它,请在您的 struts.xml 中定义以下选项:

自定义 TextProvider 和 TextProviderFactory 如果你想使用不同的逻辑来搜索本地化消息,或者你想使用数据库或只想搜索默认包,你必须实现这两个接口(或子类化现有的实现)。您可以查看一个小示例应用程序如何使用两者。请记住,TextProvider
© www.soinside.com 2019 - 2024. All rights reserved.