`
johnson2132
  • 浏览: 27143 次
  • 性别: Icon_minigender_1
  • 来自: 潍坊
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts2 国际化(中英文切换 占位符)

阅读更多
package com.example.struts.action;

import java.util.ArrayList;
import java.util.List;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
	private String username;
	private String password;
	private  static String FORWARD=null;
	public String execute() throws Exception {
		username = getUsername();// 属性值即JSP页面上输入的值
		password = getPassword();// 属性值即JSP页面上输入的值

		//定义getText方法需要的参数变量	
		List valueList =  new ArrayList();
		String[] valueArray = {null,null};
		String defaultValue = "default";
		try {
			// 判断输入值是否是空对象或没有输入
			if (username != null && !username.equals("") && password != null
					&& !password.equals("")) {
				ActionContext.getContext().getSession().put("user", getUsername());
				
				//对getText方法需要的参数变量赋予开发需要的值
				valueList.add(username);
				valueList.add(password);
				valueArray[0]=username;
				valueArray[1]=password;
				
				//打印各个getText方法,显示占位符中的属性值
				System.out.println(getText("successMessage"));
				System.out.println(getText("successMessage",valueList));
				System.out.println(getText("successMessage",valueArray));
				System.out.println(getText("successMessage",defaultValue,valueList));
				System.out.println(getText("successMessage",defaultValue,valueArray));
			// 根据标志内容导航到操作成功页面
				FORWARD = "success";
			} else {
			// 根据标志内容导航到操作失败页面
				FORWARD = "input";
			}
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return FORWARD;
	}

	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}


}

 

各个getText方法使用用途和方法申明如下:

l         String getText(String  key):上一小节已说明将属性文件中的key作为参数得到属性文件中value值。

l         String getText(String key,List  valueList):将属性文件中key映射的value中所有占位符封装成List变量,返回有占位符的value值。

l         String getText(String key,String[] valueArray) :将属性文件中key映射的value中所有占位符封装成字符串数组变量,返回有占位符的value值。

l         String getText(String key,String defaultValue,List valueList):将属性文件中key映射的value中所有占位符封装成List变量,返回有占位符的value值。如果List变量为空或者没有将占位符代表的值赋予它,则返回缺省的defaultValue

String getText(String key,String defaultValue,String[] valueArray) 将属性文件中key映射的value中所有占位符封装成字符串数组变量,返回有占位符的value值。如果字符串数组变量为空或者没有将占位符代表的值赋予它,则返回缺省的defaultValue

#用key=value格式定义页面上显示的内容
username=用户名
password=密  码
loginSubmit=登录
loginPage=登录页面
successPage=操作成功页面
welcome=欢迎您
user.required=请输入用户名!
pass.required=请输入密码!
successMessage={0},欢迎您!您的密码为{1},请注意保存。

 

  
  <body> 
  	<!-- form标签库定义,以及调用哪个Action声明 -->
	<s:form action="login">
		<table width="60%" height="76" border="0">
				<!-- 各标签定义 -->
				<s:textfield name="username" key="username"/>
				<s:password name="password" key="password" />
				<s:submit key="loginSubmit"  align="center"/>				
		</table>
	</s:form>
	<!-- 指定URL为英文的语言设置 -->
		<s:url id="english" action="login">
			<!-- 参数request_locale设置英文 -->
			<s:param name="request_locale">en_US</s:param>
		</s:url>
		<!-- 英文语言设置的链接定义 -->
		<s:a href="%{english}">English</s:a>

		<!-- 指定URL为中文的语言设置 -->
		<s:url id="chinese" action="login">
			<!-- 参数request_locale设置中文 -->
			<s:param name="request_locale">zh_CN</s:param>
		</s:url>
		<!-- 中文语言设置的链接定义 -->
		<s:a href="%{chinese}">中文</s:a>
	
  
 </body>

 

  <body>
    <s:text name="successMessage">
    <!-- 占位符{0}的值由用户名值填充 -->
    <s:param><s:property value="username"/></s:param>
    <!-- 占位符{1}的值由密码值填充 -->
    <s:param><s:property value="password"/></s:param>
</s:text>…


  </body>

 

0
2
分享到:
评论

相关推荐

    struts2实现的中英文切换

    本教程将深入讲解如何在Struts2框架中实现中英文切换功能。 1. **创建资源文件**: 在Struts2国际化过程中,关键在于使用资源文件来存储不同语言的文本。资源文件通常命名为`XX.properties`,其中`XX`代表语言代码...

    java 实现国际化 中英文语言切换

    国际化(i18n)使得软件能够适应不同国家和地区的语言环境,包括中文和英文。在这个主题中,我们将深入探讨如何使用Java和JSP进行语言切换,以满足用户对中英文显示的需求。 1. **Java 国际化基础** Java 提供了 `...

    struts1国际化网站中英文切换例子

    在Struts1框架中实现国际化,可以帮助你的Web应用为全球用户提供更友好的体验。 首先,我们需要理解国际化的基本原理。国际化不仅仅是翻译文本,它涉及到日期、时间、数字格式、排序顺序等与文化相关的多方面。在...

    struts2国际化例子源码

    在Struts2中实现国际化,可以帮助开发者创建对多语言环境友好的应用。 本示例主要围绕Struts2框架如何实现国际化进行深入探讨。源码中包含两个关键部分:WebRoot目录和src目录。 1. **WebRoot** 目录: - `WEB-...

    Struts2国际化——自动切换语言

    在Struts2框架中,实现国际化主要是通过资源配置文件和特定的标签来完成的。以下将详细阐述实现Struts2国际化自动切换语言的过程。 1. **资源配置文件**: - `globalMessage.properties`:这是默认的资源配置文件...

    struts2国际化语言切换

    在Struts2中实现国际化(i18n)是开发者为了支持多语言环境而进行的一项重要工作。"i18n"是“internationalization”的缩写,18代表字母数,n代表最后的“ation”,它是指使软件能够适应不同地区的语言和文化习俗的...

    Struts2 国际化 多语言切换

    下面我们将深入探讨如何在Struts2中实现国际化和多语言切换。 **一、国际化(i18n)基础** 国际化是指软件设计时考虑到不同地区的文化差异,使得软件可以通过简单的配置和扩展就能适应各种语言环境。在Java中,我们...

    struts 2 国际化 自动语言切换

    下面将详细解释如何在Struts2中进行国际化设置,并实现自动语言切换。 首先,我们需要理解国际化的基本概念。国际化是一种设计方法,使软件能够在多种语言和文化环境下运行,而无需进行大量的代码修改。在Java中,...

    Struts2国际化Demo

    在Struts2中,实现国际化通常涉及以下几个步骤: 1. **创建资源束文件**:在项目的`src/main/resources`目录下创建对应的资源文件,比如`messages.properties`作为默认语言(通常是英文),然后根据需要添加其他...

    struts1.2 国际化

    arguments)` 方法可以将消息模板中的占位符替换为实际的值,从而实现动态生成国际化文本。 #### 四、Struts 1.2 对国际化的支持 Struts 1.2 在其框架内集成了上述 Java 国际化支持的关键组件,并提供了以下特性:...

    struts2国际化 标签 页面 处理类

    在Struts2中实现国际化,主要包括配置、JSP页面、表单和Action类的处理。 首先,在`struts.xml`配置文件中,我们需要声明全局的国际化资源文件。通过设置常量`struts.custom.i18n.resources`的值为`message`,我们...

    struts2国际化源码以及eclipse国际化插件

    在Struts2中实现国际化(i18n)是一项重要功能,它允许应用程序支持多种语言,以满足全球用户的需求。国际化不仅仅是翻译文本,而是设计应用程序以适应不同地区的文化习惯和语言需求。 首先,让我们来探讨一下...

    Struts2国际化的实现原理

    Struts2国际化的实现原理;简单的struts2国际化实现过程的讲解

    STRUTS2国际化的问题

    在Struts2中,可以通过`HttpServletRequest`对象获取用户的`Locale`信息,例如:`Locale locale = request.getLocale();`。 2. **动态加载资源文件**:根据用户的`Locale`信息动态加载相应的资源文件。这可以通过...

    资源国际化 struts2资源国际化

    总的来说,Struts2的资源国际化机制使得开发者可以轻松地为Web应用程序添加多语言支持,提高用户体验,而无需深入修改程序的内部结构。只需维护好各个语言版本的资源文件,系统就能根据用户的语言环境自动显示相应的...

    struts2国际化测试

    在Struts2中,我们可以创建名为`messages.properties`的默认资源文件,并根据需要为不同的语言和地区创建对应的文件,如`messages_en_US.properties`(美国英语)和`messages_zh_CN.properties`(简体中文)。...

    在struts2里实现国际化,完成登录页面的国际化(英文和中文)

    在Struts2中实现国际化,主要涉及以下几个关键步骤: 1. **创建资源文件**: 国际化的核心是资源文件,通常使用`.properties`格式,例如`login_en.properties`(英文)和`login_zh_CN.properties`(简体中文)。...

    Struts1 和 Struts 2 国际化全局资源

    虽然Struts1和Struts2都是为了处理Web应用的国际化,但Struts2提供了更强大和灵活的机制。在升级或迁移项目时,了解这两个框架的国际化处理方式对于保持代码的兼容性和可维护性至关重要。在实际开发中,开发者可以...

    struts2国际化+简单的标签+用户注册和登录

    在Struts2中,这通过资源包(Properties文件)实现,通常命名为`messages.properties`,`messages_en.properties`,`messages_zh_CN.properties`等,分别对应默认语言和不同语言版本。 - 使用`&lt;s:text&gt;`标签来显示...

Global site tag (gtag.js) - Google Analytics