---
title: "Struts2 国际化使用、实现"
date: 2011-10-15 00:00:00
tags: [struts2, 国际化, 实现, 解决]
---

这学期在学习Java EE，也是我选择的方向。因此很感兴趣。前几天看了Struts2 实现国际化，于是今天下午便真实操作一遍。

首先我们要实现国际化，当然得建立相关语言的\*\*.properties\*\*文件。且该文件需放在classes目录下。即是eclipse的src的根目录。

struts2的命名规则是 “自定义名\_语言\_国别(英文字母为大写).properties”

比如：

> 中文简体:test\_zh\_CN.properties
>
> 美国英文:test\_en\_US.properties

其他国家的，请大家自己在网上搜索一下吧。

.properties 文件的内容形式为key=value

比如：

> 中文： username=用户名（这里中文要被转码为另外一种格式，才能使用。转换后为： u7528u6237u540D，eclise会自动帮你转换）
>
> 英文：username=username

写好properties文件之后。我们就需要修改struts.xml文件让其支持国际化属性，在struts标签下添加：

这里的value属性的值“test”为你的properties文件的最前面的自定义名。

然后再使用的时候，比如我想获取username的国际化属性：

>  <s:text name=”username” >或者  <s:property value=”getText(‘username’)”/> 均可以

当然还有另外一种方法不需要在struts.xml添加语句。在jsp需要使用国际化资源的时候，添加如下：

> <s:i18n name=”test”>
>
> <s:text name=”username” > 或者<s:property value=”getText(‘username’)”/>

这里的name标签的test和上面的一样。需要注意的是。你每使用一次国际化资源就需要添加一个<s:i18n>标签。

其他的使用就和一般的struts没有区别了。

然后我们可能需要手动切换语言，在jsp页面里面添加：

> 

```

```

```

```

```

```
