Struts 2 i18n用法示例图解教程

  1. i18n拦截器
  2. i18n拦截器的参数
  3. i18n拦截器示例
i18n拦截器为你的应用程序提供多语言支持。
它处理操作的设置区域设置。如果用户想要设置他/她的语言环境并根据提供的语言环境获取数据, 则可以使用它。
默认情况下, 它位于defaultStack中, 因此你不必显式指定它。
i18n拦截器的参数 为i18n拦截器定义了2个参数。两者都是可选的。
Parameter Description
parameterName 它指定HTTP请求参数的名称。默认情况下, 它设置为request_locale。
attributeName 指定用于存储语言环境的会话密钥的名称。默认为WW_TRANS_I18N_LOCALE。
i18n拦截器示例
在此示例中, 我们将创建以下页面:
  1. Login.java
  2. Login_en.properties和Login_hi.properties
  3. struts.xml
  4. index.jsp
  5. login-success.jsp
1)创建动作类
要使用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中的目录结构
Struts 2 i18n用法示例图解教程

文章图片
下载这个在Eclipse IDE中开发的示例(无jar)
下载在Myeclipse IDE中开发的此示例
输出
Struts 2 i18n用法示例图解教程

文章图片
Struts 2 i18n用法示例图解教程

文章图片
现在让我们更改语言代码。在这里, 我们使用的是chrome浏览器。
点击设置。
Struts 2 i18n用法示例图解教程

文章图片
现在, 单击显示高级设置。
Struts 2 i18n用法示例图解教程

文章图片
现在, 单击语言并输入设置。
Struts 2 i18n用法示例图解教程

文章图片
现在, 添加印地文语言并将其移至顶部, 然后单击” 完成” 。
Struts 2 i18n用法示例图解教程

文章图片
如果再次运行该应用程序, 它将显示印地文消息。
Struts 2 i18n用法示例图解教程

文章图片
Struts 2 i18n用法示例图解教程

文章图片
如果在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 i18n用法示例图解教程

文章图片
Struts 2 i18n用法示例图解教程

文章图片
Struts 2 i18n用法示例图解教程

文章图片
Struts 2 i18n用法示例图解教程

文章图片

    推荐阅读