`
rainlife
  • 浏览: 233332 次
  • 性别: Icon_minigender_1
  • 来自: 我也来自火星?
社区版块
存档分类
最新评论

Struts2学习笔记4 ――国际化

阅读更多
1.建立国际化资源文件LoginAction_zh_CN.properties :
## login.jsp
login.title = 用户登录
login.username = 用户名
login.password = 密码
login.submit = 登录

## login.jsp validation
requiredstring = $\{getText(fieldName)} 是必须的.
limitedlength = $\{getText(fieldName)} 必须在${minLength}和${maxLength}之间.

这里值得注意的是$\{getText(fieldName)},这个用来获取页面中的表单的name的值。

2.修改login.jsp,加入国际化支持:
<%...@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%...@taglib prefix="s" uri="/struts-tags"%>
<s:i18n name="org.rainlife.struts2.action.LoginAction">
<html>
    <head>
        <s:head theme="ajax" />
        <title><s:text name="login.title"/></title>
    </head>
    <body>
        <s:form action="login" method="post">
            <s:textfield label="%{getText('login.username')}" name="username" />
            <s:textfield label="%{getText('login.password')}" name="password" />
            <s:submit value="%{getText('login.submit')}" />
        </s:form>
    </body>
</html>
</s:i18n>

通过<s:i18n name="org.rainlife.struts2.action.LoginAction"></s:i18n>来使用页面支持国际化,name="org.rainlife.struts2.action.LoginAction"指向了国际化文件LoginAction.properties的位置。
在JSP页面中,通过%{getText(‘key’)}这种OGNL表达式来获取资源文件中的信息。

3.验证文件中出错信息的国际化
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC 
"-//OpenSymphony Group//XWork Validator 1.0.2//EN" 
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
    <field name="username">
        <field-validator type="requiredstring">
            <message key="requiredstring"/>
        </field-validator>
    </field>

    <field name="password">
        <field-validator type="requiredstring">
            <message key="requiredstring"/>
        </field-validator>
        <field-validator type="stringlength">
            <param name="minLength">6</param>
            <param name="maxLength">10</param>
            <message key="limitedlength"/>
        </field-validator>
    </field>
</validators>

由上面可知,是通过<message>元素的key属性来实现的,key的值为资源文件中定义的国际化信息的键值。
分享到:
评论
3 楼 haiker 2008-11-20  
嗨~~你好~

我在学习s2国际化的时候,使用你上面提到的方式,为什么不能得到正确的结果呢,

好像问题是出现在这里的

# requiredstring = $\{getText(fieldName)} 是必须的. 
# limitedlength = $\{getText(fieldName)} 必须在${minLength}和${maxLength}之间. 
2 楼 ember_319 2008-09-02  
统一使用utf-8编码,properties文件中的中文会变编译为utf-8编码(我用idea的);别的IDE环境应该也可以设置的吧~
1 楼 fornever 2008-05-11  
我在做Struts2的国际化的时候将properties文件中的中文全部用native2ascii转换为asc码了,但郁闷的是显示中文的时候仍然是乱码。我的工程下所有文件编辑器和所有jsp页面编码都为utf-8,properties文件也是,但是仍然显示乱码。

后来安装了propedit插件后查看properties的代码,发现转码后的asc码的中文部分变成了乱码,但在普通编辑器里是中文对应的正确的asc啊,不得其解,不过还是解决了,呵呵~

相关推荐

    struts2学习笔记总结

    本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    struts2学习笔记(完美总结)——转自OPEN经验库

    Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    张龙圣思园struts2学习笔记word

    张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...

    struts2学习笔记

    struts2学习笔记struts2学习笔记struts2学习笔记

    struts2四天的学习笔记

    8. **国际化(Internationalization, i18n)**:Struts2支持多语言环境,通过资源包(Properties文件)实现不同语言的切换,提供更好的用户体验。 9. **异常处理**:Struts2允许定义全局和Action级别的异常处理策略...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    struts2学习笔记3数据类型转换

    struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换

    struts2 学习笔记 实战

    Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中扮演着重要的角色。本文将深入探讨Struts2的核心概念,包括Namespace、标签、Action以及它们在实际开发中的应用。 一、Namespace ...

    struts2学习笔记(详细文字)

    structs2很详细的学习笔记,structs2的建造,工作原理,例子,逐步讲解,纯文字的

    struts 2 学习笔记

    在Struts2中,学习笔记通常会涵盖以下几个关键概念: 1. **源代码查看和Javadoc**:开发者可以通过查看源代码来理解Struts2的工作原理,而Javadoc则提供了API文档,帮助理解类和方法的功能。 2. **包(Package)和...

Global site tag (gtag.js) - Google Analytics