我只想知道是否有办法从Action类使用的实用程序类访问属性。要从Action类访问属性,我们扩展ActionSupport并使用getText("property.key.name")
方法。
所以,我的问题是 - 应该是每个其他类扩展ActionSupport来访问属性,即使它不是Action类?或者还有其他方法吗?
谢谢
答案 0 :(得分:1)
我不会扩展ActionSupport
,除非你实际上定义了一个动作。
S2 / XW2 ActionSupport
班级使用com.opensymphony.xwork2.DefaultTextProvider
;您可以在自己的课程中使用它。我对此有点警惕,因为我不相信非行动类应该访问网络应用程序的资源,但我没有多想,所以它可能是有效的。我也没试过。
答案 1 :(得分:0)
ActionSuport
是由S2开发人员开发的辅助类,用于补充开发,因为它提供了许多功能OOTB。
getText()
是一种用例,其中S2提供了一种读取属性文件的方法。这种方法特定于S2,因为它知道如何横向层次结构来读取属性文件以及按什么顺序。
有很多方法可以读取应用程序中的属性文件,其中很少是
如果您使用的是Spring,它有一个非常方便的机制来读取属性文件 - how-to-read-properties-file-in-spring
Apache Common还提供了一种读取文件的方法
简而言之,读取属性文件有很多种方法,S2 getText()
是S2开发的一种方式,用于根据您的操作读取属性文件。
答案 2 :(得分:0)
//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.
}