前几天发了一篇Struts国际化的博客——《菜鸟学习SSH(二)——Struts2国际化手动切换版》,有网友提了一个意见,见下图:
于是就有了下面修改的版本:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index</welcome-file>
</welcome-file-list>
<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>
</web-app>
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="true"></constant>
<constant name="struts.custom.i18n.resources" value="bbs2009"></constant>
<package name="/" namespace="/" extends="struts-default" >
<action name="*-*" class="com.lsj.action.{1}Action" method="{2}">
<result>/{1}-{2}.jsp</result>
</action>
</package>
</struts>
登录页
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>登录</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<form action="Login-login" method="post">
<s:property value="getText('login.username')"/> <input name="username" />
<s:property value="getText('login.password')"/><input name="password" type="password" />
<input type="submit" value="<s:property value="getText('login.login')"/>" />
</form>
</body>
</html>
OK,这样将浏览器的语言设置成中文,那么页面就以中文显示;把浏览器语言设置成英文,页面就以英文显示。这一个版本就是上面那位网友说的那种效果。这个版本实现起来要比上一个要简单,不过之前那种手动修改也有它的作用,大家在上网的时候都见过很多网站上有手动切换显示语言的链接吧(像微软、谷歌的网站上都有)!这是为了让那些身在国外的人能够自己切换到母语的显示页面而做的。这两种方式各有各的作用。
两种方式各司其职,具体要怎么用还得看你想要实现什么样的需求了。这是两种不同的国际化实现方法,今天把这种自动识别浏览器语言的方法也写出来供大家把玩把玩,希望各位玩的开心。
分享到:
相关推荐
菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华...
Struts2是SSH(Spring、Struts、Hibernate)框架中的核心部分,是一个强大的MVC(Model-View-Controller)...在实际开发中,你还可以根据需求引入更多Struts2的高级特性,如动态方法调用、国际化支持、文件上传下载等。
Struts2 框架在实际开发中经常需要实现国际化, especialmente 在 SSH 架构中,实现国际化是一个必不可少的步骤。本文将详细介绍如何在 Struts2 框架中实现国际化。 资源文件配置 在 Struts2 框架中,国际化主要...
SSH框架整合是Java Web开发中常见的一种技术组合,由Struts2、Spring4和Hibernate4三个组件构成。这个整合旨在实现MVC(Model-View-Controller)架构模式,提高应用程序的可维护性和可扩展性。下面我们将详细探讨这...
### Python GUI设计——Tkinter基础知识详解 #### 一、Tkinter简介 Tkinter是Python标准库中的一个图形用户界面(GUI)工具包,它提供了一系列的控件来帮助开发者快速构建用户界面。由于其易用性和跨平台特性,...
### 菜鸟学习——安装交叉编译记录 #### 知识点概述 本文将详细介绍如何在Linux环境下安装交叉编译工具链,并通过一个具体的示例(编译JPEG库)来展示整个过程。交叉编译是指在一个平台上编译出可以在另一个平台上...
8. **编程语言**:根据文件名"源码使用说明.txt"推测,"菜鸟浏览器"可能是用某种编程语言开发的,如Python、Java或JavaScript等,具体语言取决于软件的实现细节。 9. **API调用**:如果QQ空间提供了公开的API,软件...
**WPF图片浏览器菜鸟版** 是一个基于C#开发的简单图像查看应用,适用于初学者在学习WPF(Windows Presentation Foundation)技术时进行实践。该项目是根据国外一个使用VB(Visual Basic)语言编写的示例改编而来,...
通过学习这两门语言,你不仅可以创建静态的个人网站,还能制作出具有交互性和个性化的网页,让你的“纯真年代”网站更加引人入胜。现在,让我们开始深入学习HTML和JavaScript,将你的网站武装起来吧!
此文件是《菜鸟看论文——U-V-Disparity与地面检测、相机姿态估计》博文中的PPT,博文地址:https://blog.csdn.net/qq_326324545/article/details/93790812
这个编程规范很不错,让你知道书上的程序和网上的程序的那些编排,变量的定义为什么是这样定义,因为你不知道在程序界有他们共同的规定,当你了解了这篇文章你的程序会突飞猛进,会让别人一看就是专业人员写出来的...
SSH之路 其实我只想说的是我是一只对Java编程来说不折不扣的菜鸟,原先最网页前端开发的我最近迷上了底层代码开发,于是开始自学java编程,在同事同学的建议下,选择了SSH。写这些日志的原因只是想把自己这段自学的...
Struts2是一个强大的Java web应用程序框架,用于构建和管理MVC(模型-视图-控制器)架构的应用程序。它的设计目标是提供一个可扩展的、灵活的和易于使用的框架,帮助开发者创建出结构清晰、可维护性强的企业级应用。...
菜鸟网络的定位是建立一个开放的社会化仓储设施网络,利用互联网技术建立开放、透明、共享的数据应用平台,为电子商务企业、物流公司、仓储企业、第三方物流服务商、供应链服务商等各类企业提供优质服务,支持物流...
这份名为“从Java菜鸟到专家的资料”的压缩包文件包含了丰富的学习资源,旨在帮助初学者逐步成长为Java领域的专家。以下是对各个文件的详细解读: 1. **J2EE研究文集.chm**:这个文件专注于Java企业级应用开发,...
本资源"时间序列分析——基于R(第2版)R程序"是一个关于如何使用R语言进行时间序列分析的教程或代码集,可能是书籍的配套源代码。第二版可能意味着它包含了更新的内容和改进的方法,适应了最新的R语言版本和时间...
#### 三、Struts2框架的运行流程 Struts2的请求处理流程是其架构设计的核心,主要包括以下步骤: 1. **客户端发送请求**:用户通过浏览器或任何HTTP客户端向服务器发送请求。 2. **过滤器处理**:请求首先会经过一...