Struts2框架使用(八)之struts2的国际化

国际化(Internationlization),通俗地讲,就是让软件实现对多种语言的支持;

想要软件国际化需要设置配置文件,例如:

首先创建一个mrlv.properties文件,这个文件是默认使用的语言。编写所需要国际化的字段:

这里的value是Unicode编码。{0}是一个可变参数。

mrlv.properties

userName=\u7528\u6237\u5040d
password=\u5bc6\u7801
login=\u767b\u5f55
welcomeInfo=\u6b22\u8fce{0}

然后创建一个mrlv_en_US.properties文件,这个是英文。

mrlv_en_US.properties

userName=userName
password=password
login=login
welcomeInfo=welcome{0}

再创建一个mrlv_en_US.properties文件,这个是中文。

mrlv_zh_CN.properties

userName=\u7528\u6237\u540d
password=\u5bc6\u7801
login=\u767b\u5f55
welcomeInfo=\u6b22\u8fce{0}

注意,这里的命名是有规范的,***_zh_CN、***_en_US等等。

然后再struts.xml开启国际化。value填入的是默认语言

<?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.custom.i18n.resources" value="mrlv"></constant>
</struts>

<s:text name=""></s:text> 访问国际化资源,如下,jsp页面。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table>
    <tr>
        <td><s:text name="userName"></s:text></td>
        <td>
            <input type="text"/>
        </td>
    </tr>
    <tr>
        <td><s:text name="password"></s:text></td>
        <td>
            <input type="text"/>
        </td>
    </tr>
    <tr>
        <td>
            <input type="button" value="<s:text name=‘login‘></s:text>"/>
        </td>
    </tr>
</table>
</body>
</html>

以及

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 访问国际化资源 -->
<s:text name="welcomeInfo">
    <s:param>Jack</s:param>
</s:text>
</body>
</html>

中文环境下:

英文环境下:

如此便是struts2支持的国际化

时间: 2024-10-21 05:49:04

Struts2框架使用(八)之struts2的国际化的相关文章

Struts2框架学习第一章——Struts2概述

本章要点 —  Web应用的发展 —  Model 1和Model 2 —  MVC思想 —  MVC模式的优势 — 常用MVC框架及其特征 —  Struts 1的基本结构及其存在的问题 —  WebWork的基本结构 —  Struts 2的起源 —  Struts 2的框架架构 —  Struts 2的标签库 —  Struts 2的控制器组件 —  Struts 1和Struts 2的对比 Struts 1是全世界第一个发布的MVC框架,它由Craig McClanahan在2001年发

Struts2框架使用(九)之struts2的验证框架

Struts2 验证简介 Struts2 基于 Struts2 拦截器,为开发者提供了一套易用的验证框架,并可扩展:一般的验证都支持: Struts2 内置验证 struts2内置的验证器 第三节 :自定义验证Struts2 基于 Struts2 拦截器,为开发者提供了一套易用的验证框架,并可扩展:一般的验证都支持,下面,将以一个注册的例子来举例: 首先创建一个pojo类 package com.mrlv.pojo; public class User { private String user

Struts2框架基本使用

时间:2017-1-6 16:53 修改struts.xml配置文件不需要重启服务器. Struts2框架 一.        *   介绍Struts2        *   关于Struts2配置(关于Action配置)        *   关于Struts2结果类型    二.        *   Struts2处理请求参数        *   Struts2的类型转换(了解)        *   Struts2的校验    三.        *   Struts2的国际化   

Struts2框架概述

Struts2-day01 一. 框架概述 什么是框架,为什么使用框架,框架优点 框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题 框架,即framework.其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统.简单说就是使用别人搭好的舞台,你来做表演. 框架是在特定的领域内解决问题. 优点 重用代码大大增加,软件生产效率和质量也得到了提高 使用框架开发,它提供统一的标准,大大降低了我们的后期维护. 学习框架重点:了解框架做了什么,我们要在这个基础上在

JAVAWEB开发之Struts2详解(一)——Struts2框架介绍与快速入门、流程分析与工具配置以及Struts2的配置以及Action和Result的详细使用

Struts2框架介绍 三大框架:是企业主流JavaEE开发的一套架构.Struts2 + Spring + Hibernate 什么是框架?为什么要学习框架? 框架是实现部分功能的代码(半成品),使用框架简化企业级软件开发. Struts2与MVC? Struts是一款优秀的MVC框架 MVC:是一种思想,是一种模式,将软件分为Model模型.View视图.Controller控制器 JAVAEE软件三层架构:web层(表现层).业务逻辑层.数据持久层(Sun提供javaEE开发规范) Jav

Struts2框架基础概念总结

一.struts2框架 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互.Struts2在Struts1融合webwork. ONGL表达式:就是对象图形化导航语言,在前端页面中,访问action的属性.方法;类似于认为就是对JSP的封装,是编程更加方便.(以下详解) 二.framework(框架) 一个基本概念上的结构,用于去解决或者处理复杂的问题,框架是在特

Struts2框架学习(三) 数据处理

Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:ValueStack一种数据结构,操作数据的方式为:先进后出 OGNL : Object-GraphNavigation Language(对象图形导航语言)将多个对象的关系使用一种树形的结构展现出来,更像一个图形,那么如果需要对树形结构的节点数据进行操作,那么可以使用 对象.属性 的方式进行操作,OGNL技

Struts2框架学习(二) Action

Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器拦截请求,创建代理Action对象,执行方法,返回结果,界面跳转. 拦截器解析请求路径,获取Action的名称,到配置文件中查找action的完整类名,利用反射创建对象. 每请求一次,就创建一个对象,所以action是多例的,也是线程安全的. 2,关系 请求的路径和配置文件的对应关系: 配置文件中包

自定义验证器——用Struts2框架以框架师的思维灵活做好该事情

面对的问题:自定义一个18位身份验证器,编写验证器,在validators.xml文件中进行注册.在验证配置文件中使用? 第一部分:理解Struts2中自带的验证器 第二部分:怎样通过服务器(后台),再次对前台的数据进行验证 第三部分:用Struts2来自定义验证器(问题解决方案) 第一部分:理解Struts2中自带的验证器 Struts2框架中自带的后台服务器验证分为两种:声明式验证和编程式验证 u  声明式验证(重点) ?  对哪个 Action 或 Model 的那个字段进行验证 ?  使