- i18n拦截器
- i18n拦截器的参数
- i18n拦截器示例
它处理操作的设置区域设置。如果用户想要设置他/她的语言环境并根据提供的语言环境获取数据, 则可以使用它。
默认情况下, 它位于defaultStack中, 因此你不必显式指定它。
i18n拦截器的参数 为i18n拦截器定义了2个参数。两者都是可选的。
Parameter | Description |
---|---|
parameterName | 它指定HTTP请求参数的名称。默认情况下, 它设置为request_locale。 |
attributeName | 指定用于存储语言环境的会话密钥的名称。默认为WW_TRANS_I18N_LOCALE。 |
在此示例中, 我们将创建以下页面:
- Login.java
- Login_en.properties和Login_hi.properties
- struts.xml
- index.jsp
- login-success.jsp
要使用i18n拦截器, 你需要扩展实现TextProvider的ActionSupport类。
Login.java
package com.srcmini;
import com.opensymphony.xwork2.ActionSupport;
public class Login extends ActionSupport{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String execute(){
return SUCCESS;
}
}
2)创建属性文件
现在在包内创建2个属性文件。其名称应为actionname_languagecode.properties。
Login_en.properties
login.msg=Good Morning!
Login_hi.properties
login.msg=Suprabhat!
3)创建index.jsp作为输入
该jsp页面使用struts UI标记创建表单。它从用户那里接收名称。
index.jsp
<
%@ taglib prefix="s" uri="/struts-tags" %>
<
s:form action="login">
<
s:textfield name="name" label="Name">
<
/s:textfield>
<
!--
<
s:textfield name="request_locale" label="Language Code">
<
/s:textfield>
-->
<
s:submit>
<
/s:submit>
<
/s:form>
在struts.xml中定义动作
【Struts 2 i18n用法示例图解教程】struts.xml
<
?xml version="1.0" encoding="UTF-8" ?>
<
!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<
struts>
<
package name="abc" extends="struts-default" >
<
action name="login" class="com.srcmini.Login" method="execute">
<
result name="success">
/login-success.jsp<
/result>
<
/action>
<
/package>
<
/struts>
4)创建视图组件
现在使用文本标签获取数据。在i18n中使用。
login-success.jsp
<
%@ taglib uri="/struts-tags" prefix="s" %>
Welcome, <
s:property value="http://www.srcmini.com/name"/>
<
br>
Message is: <
s:text name="login.msg">
<
/s:text>
Eclipse IDE中的目录结构
文章图片
下载这个在Eclipse IDE中开发的示例(无jar)
下载在Myeclipse IDE中开发的此示例
输出
文章图片
文章图片
现在让我们更改语言代码。在这里, 我们使用的是chrome浏览器。
点击设置。
文章图片
现在, 单击显示高级设置。
文章图片
现在, 单击语言并输入设置。
文章图片
现在, 添加印地文语言并将其移至顶部, 然后单击” 完成” 。
文章图片
如果再次运行该应用程序, 它将显示印地文消息。
文章图片
文章图片
如果在index.jsp文件中使用request_locale属性名, 则将根据给??定的语言代码显示消息。
<
%@ taglib prefix="s" uri="/struts-tags" %>
<
s:form action="login">
<
s:textfield name="name" label="Name">
<
/s:textfield>
<
s:textfield name="request_locale" label="Language Code">
<
/s:textfield>
<
s:submit>
<
/s:submit>
<
/s:form>
让我们看一下输出。
文章图片
文章图片
文章图片
文章图片
推荐阅读
- Struts 2提取表的所有记录示例
- Struts 2 Tiles Framework集成教程示例
- Struts 2实现注册表单示例
- Struts 2迭代器标签示例
- e551. 精简的Applet
- android view 转Bitmap 生成截图
- e555. 在Applet中播放音频
- vue 外卖app 引入阿里图标
- UVA12113-Overlapping Squares(二进制枚举)