java struts2国际化代码下载_struts2的国际化实现网站整体中英文切换实例代码

news/2024/5/8 18:24:59/文章来源:https://blog.csdn.net/weixin_28925387/article/details/114208845

本文介绍了struts2的国际化实现网站整体中英文切换实例代码,分享给大家,具体如下:

环境要求:struts2框架环境搭建成功

为了实现程序的国际化,必须先提供程序所需要的资源文件。资源文件的内容基本是key-value对,其中key是程序使用的部分,而value是程序的显示部分。

资源文件的命名可以是如下3种形式:

basename_language_country.properties

basename_language.properties

basename.properties

其中basename是资源文件的基本名称,用户可自由定义,而language和country是不变的,必须是java所支持的语言和国家。(用到哪个国家语言资源可查官方文档)

java不可能支持所有的国家和语言,可以通过locale类的getavailablelocale方法获取支持的,该方法返回一个locale数组,该数组中包含了所有支持的国家和语言。

创建资源文件:

globalmessages_en_us.properties(英文)

23554a341b2a778e244a39a88759e6e9.png

globalmessages_zh_cn.properties(中文)

b4edc945f316f17212046353b466ffe2.png

编写jsp页面,在这个jsp上测试中英文切换效果:

string path = request.getcontextpath();

string basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/";

%>

:

这里有一个i18n,他就是internationalization(国际化)的英文缩写,为什么是i18n呢?

internationalization去掉头尾的i和n刚好还剩下18个字符,涨姿势了,原来还可以这样命名

编写action:

import com.opensymphony.xwork2.actionsupport;

public class loginaction extends actionsupport{

private static final long serialversionuid = 8153220869598441387l;

@override

public string execute() throws exception {

return success;

}

}

这里测试中英文切换,就不做登录处理了,直接登录成功。

配置拦截器,在进入action之前进行语言选择的处理

public class checkinterceptor extends abstractinterceptor{

private static final long serialversionuid = -1112495747942034188l;

@override

public string intercept(actioninvocation ai) throws exception {

actioncontext ac = ai.getinvocationcontext();

map session = ac.getsession();

locale locale = (locale)session.get("ww_trans_i18n_locale");

if(locale==null){

locale = new locale("zh","cn");

session.put("ww_trans_i18n_locale",locale);

}

return ai.invoke();

}

}

在struts2中,提供了一个i18n的拦截器,这个拦截器在执行action方法之前,自动查找请求中名为request_locale的参数,拦截后转换为locale对象,放置在用户session的名为“ww_trans_i18n_locale”的属性。i18n在程序运行时会被自动加载,我们可以利用这些来设置允许用户自动选择网页的语言。

在struts.xml中配置拦截器和国际化的资源:

/p>

"-//apache software foundation//dtd struts configuration 2.3//en"

"http://struts.apache.org/dtds/struts-2.3.dtd">

/index.jsp

最后看看运行结果:

选择语言为中文:

6433eeae86ad98740269769790ff2593.png

选择语言为英文:

bdf41cd15188c41ade1ff66a96d1f3ba.png

我们可以看到,已经成功实现了中英文切换,不同语言的切换只需要提供不同国家的语言资源文件即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_735343.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql-pius代码生成网站_MyBatis-Plus系列之代码生成器

代码生成器,也叫逆向工程,是根据数据库里的表结构,自动生成对应的实体类、映射文件和接口。这和hibernate的自动建表恰好相反。很早之前,写了一个代码生成器的工程,自己也一直在用,很方便,也经过…

网站自动登录功能的设计

我相信有很多IT者都会遇到公司要求网站可以实现自动登录,那什么是自动登录呢? 所谓自动登陆就是当用户第一次访问网站时,输入用户名和密码,然后勾选了自动登陆复选框,进入首页后,点击退出登陆,关…

关闭宝塔80端口_服务器网站运行宝塔环境安装教程

宝塔环境安装本教程使用宝塔linux面板来作为网站的运行环境,其他的这类软件也是可以的。首先是宝塔面板的安装我们首先连接到服务器,购买服务器后如何远程连接登陆?然后登陆进入了下图这个界面。宝塔环境安装我们打开宝塔面板的官方网站&…

数据包发送时 源端口是随机生成的吗_当你访问XXX网站时,从访问到内容返回呈现,中间发生了什么?...

想必不少小伙伴面试过程中,会遇到「当键入网址后,到网页显示,其间发生了什么」的面试题。这次,小林我带大家一起探究下,一个数据包在网络中的心路历程。每个阶段都有数据包的「心路历程」,我们一起看看它说…

设计电子商务网站建设方案_如何做一份公司网站建设方案书

点击蓝字获取更多优惠信息在决定做好网站建设前,公司应该先对市场情况进行分析、明确建设网站的目的和功能性,并根据市场调查结果对网站建设的各项要求要点做出规划。网站规划对网站建设起到计划和指导的作用,对网站的内容和维护起到定位作用…

网站改成静态页面打不开_网站优化系统诊断和SEO体验

在做企业网站优化时,常遇到很多的问题,比如网站原创内容不收录,收录后没有排名,有排名却怎么也排不到首页等。所以就需要我们系统的对企业网站优化做一个很好的诊断,帮助我们调整网站细节,更好的提高网站权…

您与此网站之间建立的连接并非完全安全 ????

有时候即使SSL证书有效, Chrome还是显示"并非完全安全"?比如: 肿么肥事呢?原来一个网页不完全由1个https包得到的, 而是由多个资源共同组成的,打开网络工具就可以看到: 在Size那一列, 只有第1个资源(通常是html)是不会走缓存的,这个资源也来自浏览器地址栏里面所看…

tp5网站上传服务器,tp5上传到云服务器

tp5上传到云服务器 内容精选换一换本章节以Linux操作系统为例,指导您通过弹性云服务器内网连接GaussDB(for Cassandra)实例。您可以根据业务需求选用普通方式或SSL方式连接实例。目标实例必须与弹性云服务器在同一个虚拟私有云和子网内才能访问。该弹性云服务器必须…

基于Java/Mysql的个人博客网站

3年前写的一个技术博客。。。纪念一下。 OpenIdea Blog - 开源灵感博客 a personal blog site based on Java/Mysql - 基于Java/Mysql的个人博客网站;此时已经更新至version23.1;这是一个java web博客项目,尽最大可能实现mvc模式,没有使用到框架&#xf…

一个博客网站的历史纪录。。。

上一篇文章用MySQL实现了一个个人博客网站,本文是它各个版本的历史记录,在删除源代码之前,最后回忆一下这个项目的历史。2017-09-02【0.0】博客诞生2017-09-02【0.0】测试阶段:阿里云vps成功内测前端模板2017-09-09【0.0】测试阶段:服务器重定…

云服务器建站原理_第一篇博客---阿里云服务器建站过程(小菜鸟的第一次尝试)...

最近学习了前后端的相关技术,就想租一个服务器试一下,玩一玩,简单了解了一下阿里云的服务器,简单介绍一下:一:什么是云服务器ECS是阿里云产品体系中,最基础的计算服务,通常用作应用程序的运行环…

哈尔滨网站服务器_哈尔滨web前端开发应用越来越广泛

互联网发展日新月异,有大量工作需要前端来做:1日常办公软件(复杂应用,并且慢慢从桌面程序演化为Web):Office、Email、文档管理、产品设计、项目管理、代码编辑器;2大数据/AI配套软件(复杂应用,并且慢慢从桌…

计算机组成二进制除法,二进制算术运算-计算机组成原理与汇编语言-电子发烧友网站...

1.4.1 二进制加法二进制加法与十进制加法相类似,所不同的是,二进制加法中是“逢二进一”,其法则为:000101011110 并进位例如:两个二进制数相加:10110101 10001110______________1010000111.4.2 二进制减法在…

java soap服务_「java调用webservice」java调用webservice接口 三种方法 - seo实验室

java调用webservice摘自其它:webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。今天搜索到了非常好的 webservice provider列表http://www.webserv…

搜索引擎优化的用乐云seo_SEO搜索引擎优化是否真的那么重要?

SEO搜索引擎优化是优化网页及其内容的过程,以便用户搜索与您的网站相关的词条并轻松地发现它们。尽管SEO搜索引擎优化的概念相对简单明了,但是仍然还是有很多企业对具体问题存有疑问,例如:如何“优化”网站或公司的搜索引擎网站&a…

内容泛化是什么意思_网站优化|为什么做了SEO优化 网站却没有排名?

即使你在SEO行业,有着几年的工作经验,你偶尔也会有这样的疑问,我长期的坚持写高质量内容,但有的时候,针对某些网站,它的排名就是上去。这让很多SEO人员,一度在怀疑自己的优化策略,是…

计算机登录网站慢手机快,手机WiFi网速慢,简单输入几个数字立马变快!

原标题:手机WiFi网速慢,简单输入几个数字立马变快!微言∶“用手机连家里的WiFi上网也是很普遍的一件事了。可是有时候,电脑网速是正常的,可手机连上的WiFi却很慢,这到底是什么原因呢?”相信很多微友都有遇过类似的情况,和朋友连接…

服务器弄好了怎么做网站,怎么自己做网站?自己做网站都需要什么?

怎么自己做网站?自己做网站都需要什么?免费建站有哪些流程及步骤,想必我们想做网站的朋友都有这样的疑问吧!下面就和小编来一起看看吧!1、网站程序网站程序必需的,能够自身撰写或是是业务外包请人做,搞好以后能够授权委托构建网站&#xff…

seo查询工具源码_SEO站长必备的7个工具网站,老站长的选择错不了(值得珍藏)...

对于一个站长来说seo网址导航很重要一是你可以在这些网址导航中随时找到你想用的工具二是可以通过导航里面琳琅满目的网址针对性的学习自己想要的东西如何更好利用seo工具如何进行白帽优化等故此之华收集了:SEO站长必备的7个工具网站希望可以在工作中帮到你!开始分享…

wordpress怎么设置文章页面不打开新的窗口_2020年使用宝塔面板搭建 WordPress 网站图文详细教程

今天详细介绍一下如何使用宝塔面板,搭建 WordPress 博客。宝塔面板的安装很简单,一行命令就能搞定,安装教程参考《2分钟装好宝塔面板,一键管理服务器》。安装完成之后,我们选择安装 LAMP 或者 LNMP 建站环境&#xff0…