(十)配置资源文件

        从任何的项目来讲,都一定会存在有*.properties,这个文件的结构使用了"key=value"的形式,同时在这种文件上还可以轻松的实现国际化操作的需要,所以只要是项目,都建议至少定义一个Messages.properties的文件,保存所有的提示信息.

范例:在src下定义Messages.properties文件(资源文件的命名同类名称名称命名标准一致)

info.msg=这是我发的信息:{0},{1},{2},{3},{4}

那么现在需要在struts.properties文件里面定义资源文件.

范例:修改struts.properties文件

struts.custom.i18n.resoures=Messages

        随后在Action里面进行纪元文件的读取

String msg=super.getText("info.msg",new String[]{"世界","你好","和平","寻找"});

        尽可能保证有多少个占位符就填写多少个内容.

在整个Struts2.x开发之中,以上形式的资源读取是最为常见的,但是在整个Struts2.x规划的时候定义了三种级别的资源文件类型:

        ●第一种:全局资源文件类型,推荐的使用形式;(需要在strtus.properties中注册名称)

        ●第二种:包级别的资源文件,只能在一个包下使用(package.preoerties);

        ●第三种:指定Action的资源文件,为一个Action服务 (名称与Action相同)

范例:定义包级别的资源文件--cn/zwb/action/package.properties

        info.msg=今天星期一

        在读取资源文件的时候,如果多个级别的资源文件都出现了,那么会按照由小到大的范围读取,如果没有再读取package.properties.如果还没有则读取全局资源;

范例:定义EchoAxtion专门使用的资源文件--EchoAction.properties(EchoAction)

        info.msg=今天是周一啊啊要上课

        虽然有三种资源的类型,但是如果真使用,还是定义全局文件,如果是多个,使用","分隔,

但是一定要记住,在struts.properties中定义全局资源文件的时候,不许加后缀,它默认找到"*.properties"文件

猜你喜欢

转载自blog.csdn.net/qq1019648709/article/details/80563766