国际化资源文件是如何加载的?

国际化资源文件加载的顺序如何呢 ? 
加载顺序原则:离当前 Action 较近的将被优先加载. 


假设我们在某个 ChildAction 中调用了getText("username"):


(1) 加载和 ChildAction 的类文件在同一个包下的系列资源文件 ChildAction.properties


(2) 加载  ChildAction 实现的接口 IChild,且和 IChildn 在同一个包下 IChild.properties 系列资源文件。


(3) 加载 ChildAction 父类 Parent,且和 Parent 在同一个包下的 baseName 为 Parent.properties 系列资源文件。


(4) 若 ChildAction 实现 ModelDriven 接口,则对于getModel()方法返回的model 对象,重新执行第(1)步操作。


(5) 查找当前包下 package.properties 系列资源文件。


(6) 沿着当前包上溯,直到最顶层包来查找 package.properties 的系列资源文件。


(7) 查找 struts.custom.i18n.resources 常量指定 baseName 的系列资源文件。


(8) 直接输出该key的字符串值。



你可能感兴趣的:(国际化资源文件是如何加载的?)