struts.xml配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.action.extension" value="do,action"></constant>
<!-- 定义国际化常量 -->
<constant name="struts.custom.i18n.resources" value="cool"></constant>
<!-- 国际化 -->
<package name="person" namespace="/person" extends="struts-default">
<action name="manage" class="com.cool.global.GlobalAction" >
<result name="message">/WEB-INF/page/message.jsp</result>
</action>
</package>
</struts>
在项目的src目录下创建cool_en_US.properties,cool_zh_CN.properties两个文件
cool_en_US.properties 存放英文国际化信息
文件里只有一行代码,如下:
welcome={0},welcome to cool,{1}
cool_zh_CN.properties 存放中文国际化信息
welcome ={0},欢迎来到我的网站,{1}
录入中文的时候,以MyEclipse6.6为例会自动转换成下面的格式:
welcome ={0}\uFF0C\u6B22\u8FCE\u6765\u5230\u6211\u7684\u7F51\u7AD9\uFF0C{1}
创建com.cool.global.GlobalAction
GlobalAction.java
package com.cool.global;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class GlobalAction extends ActionSupport{
private static final long serialVersionUID = 1L;
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
ActionContext.getContext().put("message", this.getText("welcome",new String[]{"customer","play"}));
return "message";
}
}
WebRoot目录下创建JSP文件Global.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>国际化测试</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
<s:text name="welcome">
<s:param>customer</s:param>
<s:param>study</s:param>
</s:text>
</body>
</html>
WebRoot/WEB-INF/page目录下创建message.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Message Page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
${message }
</body>
</html>
Action返回的值,访问地址
http://localhost:8080/struts2/person/manaage.action
JSP界面赋值,访问地址
http://localhost:8080/struts2/Global.jsp
这样所能够看到的都是中文的提示消息,当然想看到英文的提示消息,需要将浏览器的语言更改为英文。
在IE的,工具->Internet选项->语言,在弹出的对话框中将中文替换为英文即可。
测试完成后别忘了切换回中文。
以上
分享到:
相关推荐
### Struts2 国际化全局资源 Struts2的国际化处理更加灵活,它支持动态资源加载和更丰富的配置选项。 1. **资源文件**:与Struts1类似,也需要创建多个`.properties`文件,但Struts2可以使用Spring的`...
Struts2框架提供了强大的自定义标签支持,结合国际化全局资源配置,可以实现多语言环境下的动态页面展示。 首先,我们来了解一下自定义Tag标签的创建过程。在Java中,自定义标签通常基于JSP标准标签库(JSTL)的Tag...
在配置文件中定义全局异常处理,通过`key`属性指定资源文件中的键,如`<global-exception-mappings><exception key="java.lang.Throwable" result="error"/></global-exception-mappings>`。 10. **测试和部署** ...
- **struts.properties**:该文件主要用于配置Struts2的全局属性,如默认使用的视图技术(如JSP或FreeMarker)等。 - **struts-default.xml**:这是Struts2框架提供的默认配置文件,包含了一些基本的拦截器和结果...
- `<message-resources>`: 国际化资源文件配置。 - `<plug-in>`: 插件配置。 ##### 2. 关键配置项 - **`<form-bean>`**: - 定义表单Bean的属性和验证规则。 - **`<action-mapping>`**: - 映射Action的执行逻辑...
总结,实现Struts2的国际化涉及资源文件的创建、配置Struts2的`struts.xml`、设置locale以及在JSP页面中使用国际化标签库。理解和掌握这些步骤对于开发全球化应用程序至关重要。通过阅读源码和利用相关工具,开发者...
首先,在`struts.xml`配置文件中,我们需要声明全局的国际化资源文件。通过设置常量`struts.custom.i18n.resources`的值为`message`,我们指定了基础名称(Basename): ```xml <constant name="struts.custom.i18n...
- **标签库**:Struts 1.2 提供了一系列用于显示和处理国际化内容的标签,如 `<s:text>` 标签用于显示资源文件中的消息。 - **配置文件**:可以在 `struts-config.xml` 配置文件中指定默认的 `Locale`,并通过 `...
5. **全局资源文件**:最终查找`struts.properties`中设置的`struts.custom.i18n.resources`所指向的全局资源文件。 这种多层次的查找机制,使得Struts2的国际化配置既灵活又强大,能够满足不同场景的需求。 #### ...
10. **国际化支持**:Struts2支持多语言,可以通过配置资源文件来实现。在`struts.properties`或`struts.xml`中指定资源文件的路径。 以上就是关于Struts2配置文件的详细讲解,包括核心配置文件`struts.xml`的使用...
2. 在`struts.xml`中配置国际化结果类型和全局结果。 3. 在Action类中处理语言选择并设置上下文中的语言。 4. 使用Struts2标签展示国际化文本。 5. 实现用户界面中的语言切换功能。 通过以上步骤,我们可以为Struts...
在Struts2中,配置文件扮演着至关重要的角色,它定义了应用的行为、组件之间的交互逻辑以及各种资源的映射关系。 #### 二、Struts2配置文件详解 **配置文件格式:** Struts2配置文件通常以`struts.xml`命名,采用...
总之,Struts2的国际化功能提供了一种灵活的方式来支持多语言应用,开发者只需要维护一套包含各种语言的资源文件,就可以轻松地为不同地区的用户提供定制的界面和消息。这对于全球化部署的Web应用来说,是非常关键的...
本资源包含Struts2的核心jar包和相关的配置文件,对于学习和开发基于Struts2的应用来说是非常宝贵的。 首先,我们来了解一下Struts2的核心jar包。这些jar文件通常包括以下组件: 1. **struts2-core.jar**:这是...
Struts2语言国际化提供了便捷的方式,通过配置拦截器、资源文件、Action以及页面元素,使得Web应用可以支持多种语言。这不仅提升了用户体验,也为全球化部署提供了基础。在实际开发中,根据项目需求,可能还需要考虑...
2. **.struts2.xml配置文件** - **全局配置**:在`struts-default.xml`或`struts-plugin.xml`中,可以设置全局拦截器、常量等。 - **应用配置**:在`struts.xml`中定义Action、结果类型、拦截器栈等,这是应用的...
- **全局资源文件**:首先,你需要创建两个或多个资源文件,如`globalMessage_en_US.properties`和`globalMessage_zh_CN.properties`,分别存储不同语言的文本。在`struts.xml`中声明这些资源文件,例如通过`...
1. **全局资源文件**: 通常在`struts.xml`或`struts.properties`文件中配置的资源文件,作用于整个应用。 2. **包级资源文件**: 可以为每个包指定特定的资源文件,文件通常命名为`package_language_country....
- **全局资源文件**:通常存放在src目录下,如`message_zh_CN.properties`和`message_en_US.properties`,在`struts.xml`配置文件中通过`<constant>`标签指定,例如`<constant name="struts.custom.i18n.resources...