struts2学习笔记之十(用户选择语言环境小程序)
来源:互联网 发布:外媒特朗普访华 知乎 编辑:程序博客网 时间:2024/06/15 11:00
struts 默认使用浏览器设置选择国家和语言,提供机制让用户选择国家语言环境 根据request_locale来确定。
如在提交请求时加上request_locale=en_US来设定语言环境为English
例如:http://localhost:8080/I18n/I18nJSP?request_locale=zh_CN
这样就会得到中文的语言环境显示JSP页面
接下来演示一个用户在JSP页面选择语言环境的小程序
- web.xml配置
- 制作JSP页面
- Action处理类
- struts.xml配置
web.xml配置
使用空项目的web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Struts Blank</display-name> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>
JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%@ taglib prefix="s" uri="/struts-tags"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><s:i18n name="/resource/selectlanguage"><html> <head> <title><s:text name="LanguageEnvironment" /></title> </head> <s:bean var="selectlanguage" name="org.struts2.bean.LanguageEnvironmentList"/> <body> <s:form action="selectlanguage"> <s:select id="sl" list="#selectlanguage.localeList" listKey="value" listValue="key" key="selectLanguageEnvironment" name="request_locale" onchange="this.form.submit();" /> </s:form> </body> <script type="text/javascript"> document.getElementById("sl").value="${param.request_locale}"; </script></html></s:i18n>
这里的form的action不能写成”#”(至少我在实验的时候不能用),否则的话会出错,查看网页源代码显示提交的页面是#.action
Action处理类
在这个项目里,用户没有提交过来什么数据,Action也不需要返回逻辑视图,因此这个项目不需要编写Action。但是却需要一个Bean,用于返回系统中的系统中可选的语言环境
package org.struts2.bean;import java.util.HashMap;import java.util.Locale;import java.util.Map;public class LanguageEnvironmentList { private Map<String,Locale> localeList; { localeList = new HashMap<String,Locale>(); localeList.put(Locale.CHINA.getDisplayLanguage(Locale.CHINA), Locale.CHINA); localeList.put(Locale.US.getDisplayLanguage(Locale.US),Locale.US); } public Map<String,Locale> getLocaleList() { return localeList; }}
Locale.CHINA.getDisplayLanguage(Locale.CHINA)
表示返回中文环境的显示;
Locale.CHINA
中文环境。
struts.xml配置
使用的是一个自己制作的空项目的配置
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <!-- 开发模式为true,出错的时候信息很多,或者配置文件修改会自动备份,减少重启服务器 --> <constant name="struts.devMode" value="true"></constant> <!-- 编码字符集,应于页面的字符集一样 --> <constant name="struts.i18n.encoding" value="gb2312"></constant> <package name="general" extends="struts-default"> <!-- 万能的action,可以匹配任何action --> <action name="*"> <!-- 这样的处理可以访问WEB-INF下面的内容,一般来说,用户是不可以访问WEB-INF的内容,有利于安全 --> <!-- 这个思想也就是用户的一切请求都是action请求--> <result>/WEB-INF/content/{1}.jsp</result> </action> </package></struts>
0 0
- struts2学习笔记之十(用户选择语言环境小程序)
- C语言程序学习(十)笔记
- struts2学习笔记之十:文件上传
- 【黑马程序员】C语言学习笔记之字符串(十)
- 选择排序小程序(c语言)
- J2EE系列之Struts2学习笔记(二十)--Struts2验证框架(自定义验证)
- Struts2学习笔记(十)国际化
- Struts2学习笔记(十) OGNL
- Struts2学习笔记之开发环境搭建
- Struts2学习笔记之开发环境搭建
- Struts2学习笔记之开发环境搭建
- Struts2学习笔记之开发环境搭建
- Struts2学习笔记之环境搭建
- Struts2学习笔记系列之环境搭建
- C语言学习笔记(六)---行列式求值小程序
- Struts2 i18n国际化(允许用户自行选择语言)
- struts2学习笔记(十)struts2自定义校验
- struts2实现用户自行选择语言
- google-hack相关的python脚本
- Linux应用程序之信号量
- linux命令学习笔记
- 【VR】Leap Motion 官方脚本手册翻译之---HandController(手型控制器)
- 二叉树的建立和递归遍历、非递归遍历操作
- struts2学习笔记之十(用户选择语言环境小程序)
- P123 29
- 免费WebService对外接口(汇总)
- 《c++编程》第3章第32题
- lvs net模式安装
- PAT 1017. Queueing at Bank (25)
- 【Android应用开发技术:用户界面】TextView
- 【c#第三次作业】打开excel,并保存于sql中
- 第8周项目1(3)实现复数类中的运算符重载(拓展)