我只想知道是否有办法从 Action 类使用的实用程序类访问属性。要从 Action 类访问属性,我们扩展 ActionSupport 并使用该getText("property.key.name")
方法。所以,我的问题是——是否应该每个其他类都扩展 ActionSupport 以访问属性,即使它不是 Action 类?还是有其他方法?
谢谢
我只想知道是否有办法从 Action 类使用的实用程序类访问属性。要从 Action 类访问属性,我们扩展 ActionSupport 并使用该getText("property.key.name")
方法。所以,我的问题是——是否应该每个其他类都扩展 ActionSupport 以访问属性,即使它不是 Action 类?还是有其他方法?
谢谢
ActionSupport
除非您实际上是在定义一个动作,否则我不会扩展。
S2/XW2ActionSupport
类使用com.opensymphony.xwork2.DefaultTextProvider
; 您也许可以在自己的课程中使用它。我对此有点警惕,因为我不相信非动作类应该访问网络应用程序的资源,但我没有考虑太多,所以它可能是有效的。我也没有尝试过。
ActionSuport
是一种由 S2 开发人员开发的帮助程序类,用于补充开发,因为它提供了许多 OOTB 功能。
getText()
是 S2 提供一种读取属性文件的方法的用例之一。此方法特定于 S2,因为它知道如何跨越层次结构以读取属性文件以及以什么顺序。
有很多方法可以读取应用程序中的属性文件,但其中很少有
如果您使用的是 Spring,它有一个非常方便的机制来读取属性文件 - how-to-read-properties-file-in-spring
Apache Common 还提供了一种读取文件的方法
总之读取属性文件有很多种方法,S2getText()
是S2开发的一种读取属性文件的方法。
//I wanna make you understand how struts doing it.
public class ActionSupport implements Action, Validateable, ValidationAware, TextProvider, LocaleProvider, Serializable {
//Action support implementation.
//Here TextProvider takes care about resource bundle thing.
}