struts2的实现方法
LangSelector.jsp
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<script type="text/javascript">
<!--
function langSelecter_onChanged() {
document.langForm.submit();
}
//-->
</script>
</head>
<body>
<s:set name="SESSION_LOCALE" value="#session['WW_TRANS_I18N_LOCALE']" />
<s:bean id="locales" name="tutorial.Locales" />
<form action="<s:url includeParams="get" encode="true"/>"
name="langForm"
style="background-color: powderblue; padding-top: 4px; padding-bottom: 4px;">
Language:
<s:select label="Language" list="#locales.locales" listKey="value"
listValue="key"
value="#SESSION_LOCALE == null ? locale : #SESSION_LOCALE"
name="request_locale" id="langSelecter"
onchange="langSelecter_onChanged()" theme="simple" />
</form>
</body>
</html>
HelloWorld.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Hello World</title>
<s:include value="/LangSelector.jsp"/>
</head>
<body>
<h2>
<s:text name="HelloWorld" />
</h2>
<h2>
<s:property value="%{getText('HelloWorld')}" />
</h2>
</body>
</html>
Locales.java
package tutorial;
import java.util.Hashtable;
import java.util.Locale;
import java.util.Map;
public class Locales {
public Map<String, Locale> getLocales() {
Map<String, Locale> locales =new Hashtable<String, Locale>(2);
locales.put("American English", Locale.US);
locales.put("Simplified Chinese", Locale.CHINA);
return locales;
}
}
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>
<package name="Struts2_test" extends="struts-default">
<action name="HelloWorld">
<result>/HelloWorld.jsp</result>
</action>
</package>
</struts>
struts.properties
struts.custom.i18n.resources=globalMessages
globalMessages_en_US.properties
HelloWorld=Hello World!
globalMessages_zh_CN.properties
HelloWorld=你好!
http://localhost:9000/struts2_local/HelloWorld.action访问
struts1的实现方法
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="userName" type="java.lang.String" />
</form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="loginForm"
input="/form/login.jsp"
name="loginForm"
path="/login"
scope="request"
type="com.mingda.struts.action.LoginAction">
<forward name="success" path="/form/success.jsp" />
</action>
</action-mappings>
<message-resources parameter="com.mingda.struts.ApplicationResources" />
</struts-config>
/form/login.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for DynaActionForm form</title>
</head>
<body>
<html:form action="/login">
<bean:message key="language.choose"/><br>
<html:link action="login.action?locale=zh"><bean:message key="language.zh"/></html:link><br>
<html:link action="login.action?locale=en"><bean:message key="language.en"/></html:link><br>
<html:submit/><html:cancel/>
</html:form>
</body>
</html>
/form/success.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for DynaActionForm form</title>
</head>
<body>
<bean:message key="login.username"/>
</body>
</html>
LoginAction.java
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.mingda.struts.action;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.Globals;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* MyEclipse Struts
* Creation date: 01-22-2008
*
* XDoclet definition:
* @struts.action path="/login" name="loginForm" input="/form/login.jsp" scope="request" validate="true"
* @struts.action-forward name="success" path="/form/success.jsp"
*/
public class LoginAction extends Action {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String locale = request.getParameter("locale");
if(locale!=null)
{
Locale locale_language=null;
if(locale.equalsIgnoreCase("zh"))
locale_language = Locale.SIMPLIFIED_CHINESE;
else if(locale.equalsIgnoreCase("en"))
locale_language = Locale.ENGLISH;
request.getSession().setAttribute(Globals.LOCALE_KEY,locale_language);
}
return mapping.findForward("success");
}
}
ApplicationResources_zh_CN.properties
login.username=用户名
language.choose=选择语言
language.zh=简体中文
language.en=英语
ApplicationResources.properties
# Resources for parameter 'com.mingda.struts.ApplicationResources'
# Project test_struts1
login.username=UserName
language.choose=Choose Language
language.zh=simplified_chinese
language.en=english
分享到:
相关推荐
总结,实现Struts2的国际化涉及资源文件的创建、配置Struts2的`struts.xml`、设置locale以及在JSP页面中使用国际化标签库。理解和掌握这些步骤对于开发全球化应用程序至关重要。通过阅读源码和利用相关工具,开发者...
Struts2是一个非常流行的...这个示例程序提供了实际操作的案例,帮助开发者理解如何在Struts2应用中实现国际化,同时展示了多种实现方式。通过学习和实践,开发者可以灵活地为他们的应用提供多语言支持,提升用户体验。
本示例主要围绕Struts2框架如何实现国际化进行深入探讨。源码中包含两个关键部分:WebRoot目录和src目录。 1. **WebRoot** 目录: - `WEB-INF/classes`:这是放置编译后的Java类文件的地方,包括Action类和其他...
在Struts2中,拦截器(Interceptor)是实现业务逻辑控制和增强功能的重要机制,而国际化(Internationalization,简称i18n)则能帮助我们构建支持多语言的Web应用。下面将详细解释这两个知识点以及它们如何在Struts2...
Struts1 和 Struts 2 是两种非常流行的Java Web开发框架,它们都提供了对国际化(i18n)的支持,使得应用能够根据用户的语言和地区显示相应的本地化内容。国际化是软件设计的一个重要方面,它允许应用程序在全球范围...
在这个“ajax+struts2.0+jsp下拉列表级联”的示例中,我们将探讨如何利用这三个技术实现这种功能。 首先,AJAX(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器交换数据并更新部分网页...
文件`struts2_properties_20150922_guojihua2`很可能包含了Struts2的国际化配置示例,可能是针对2015年9月22日的一个更新或修正。文件名中的“guojihua2”可能是对这个版本的特定描述,可能指的是第二次国际化的改进...
在Struts2中实现国际化,主要包括配置、JSP页面、表单和Action类的处理。 首先,在`struts.xml`配置文件中,我们需要声明全局的国际化资源文件。通过设置常量`struts.custom.i18n.resources`的值为`message`,我们...
Struts2.0是Java Web开发中的一个强大框架,它极大地简化了MVC(Model-View-Controller)架构的实现。在JSP中,Struts2.0提供了一套丰富的标签库,使得开发者可以更加方便地处理视图层的逻辑,提高代码的可读性和可...
在这个实例中,“struts2实现在jsp页面对员工的增删改查操作”意味着我们将探讨如何使用Struts2框架来处理员工管理的基本功能,包括添加、删除、更新和查询员工信息,并在JSP页面上展示这些操作。 首先,我们需要...
它在Struts1的基础上进行了很多改进,提供了更优秀的MVC(Model-View-Controller)架构支持,增强了动作处理、异常处理、国际化、以及与Spring等其他框架的集成。 标题"Struts2示例demo"暗示我们将探讨一个实际的...
在“struts2国际化测试”这个主题中,我们将探讨如何在Struts2框架下实现应用程序的国际化功能。 首先,国际化(i18n,i代表第9个字母n,18是n到i的字母数,表示国际化)是使软件能够适应不同语言和文化背景的重要...
在“Struts2国际化Demo”中,我们主要探讨的是如何利用Struts2框架实现应用的多语言支持,即国际化(i18n)功能。国际化是一种设计方法,使得软件能够根据不同地区的语言和文化习惯进行调整,使得全球用户都能无障碍...
在这个“Struts2实现文件下载功能”的示例中,我们将深入探讨如何利用Struts2框架来实现在web应用中让用户下载文件的功能。 首先,我们需要理解文件下载的基本原理。在Web应用中,当用户点击一个链接或提交一个表单...
Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中被广泛...在压缩包文件"struts2sjhCurd"中,可能包含了实现上述功能的示例代码,建议进行详细研究和实践,以便更好地理解和应用这些知识点。
"Struts2国际化demo"是一个示例,展示了如何在Struts2框架下实现这一功能,使得网站可以根据用户的浏览器设置显示不同的语言。 首先,要实现国际化,我们需要创建资源文件。在Java中,这些通常是`.properties`文件...
这篇指南将深入探讨Struts2如何实现国际化支持,并提供一个初步的引导。 首先,理解国际化的基本概念是至关重要的。国际化不仅仅是翻译文本,它还涉及到日期、时间、货币等格式的本地化。在Java中,这一过程通常...
Struts2是一个强大的MVC...这个资源包提供的源代码应该包含了具体的实现示例,可以帮助开发者更好地理解和应用Struts2的国际化特性。在实际项目中,可以根据需求扩展资源文件,覆盖更多语言,以便服务于全球用户。
Struts1是一个经典的Java Web框架,它为开发者提供了一种结构化的MVC(Model-View-Controller)设计模式实现方式,使得开发人员可以更高效、更有序地构建Web应用程序。这个"struts1示例代码"是针对Struts1框架的一个...