`
zengshaotao
  • 浏览: 754363 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Struts1笔记

 
阅读更多

1、struts国际化的配置
 * 在struts-config.xml文件中加入:<message-resources parameter="MessageResources" />
 
2、提供不同版本的国际化资源文件,中文需要采用native2ascii转换成unicode

3、在jsp中采用<bean:message>标签来读取国际化消息文本

4、了解利用struts默认将locale放到session中的特性,完成采用编程的方式切换语言设置
 
5、消息文本的国际化处理,共有三个步骤:
 * 创建国际化消息
 * 传递国际化消息
 * 显示国际化消息
 
如何创建国际化消息?
 理解ActionMessage和ActionMessages两个对象的区别

一个ActionMessage对象实例,对应一条国际化消息

ActionMessages.add(ActionMessage)
传递国际化消息,如果保存到request,其实是设置到attribute里,key值是
MESSAGE_KEY,  session类似。错误信息是ERROR_KEY
 
如何传递国际化消息?
 * 调用saveMessage()传递普通消息,调用saveErrors传递错误消息
 
如何显示国际化消息?
 通过<html:messages>标签显示消息(可以显示普通消息和错误消息)
 通过<html:errors>显示消息(只能显示错误消息)  

 

 

1、了解缺省Locale是由操作系统决定的,Locale是由语言和国家代码组成

2、国际化资源文件是由baseName+locale组成,如:MessageBundle_en_US.properties
baseName是任意合法的文件名

MessageFormat 进行数据的格式化(利用了占位符)

3、native2ascii命令的位置和用法
 * 位置:JAVA_HOME/bin
 * 使用native2ascii.exe  o.properties MessagesBundle_zh_CN.properties
 
bean:message,国际化的资源内容输出。

请求的时候会将本地区域和语言发送到服务端。信息会存在session。

RequestProcess核心类会产生session,处理locale。

手动切换国际化版本,只需在发送服务端之前手动设置locale信息。放到session里
attribute的key值是Globals.locale_key

都找不到国际化资源的时候就查找本地的locale,根据本地的locale找不到资源文件才

去默认的资源文件里查找。


 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics