电商详情页模板的网站,seo优化网络,wordpress可视化编辑器推荐,优秀的wordpress涉及提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 前言
拿Google网站来举例#xff0c;在世界上不同国家和地区#xff0c;登陆Google网站#xff0c;网站上都会显示本国家语言#xff0c;它是怎么做到的#xff0c;就是… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 前言
拿Google网站来举例在世界上不同国家和地区登陆Google网站网站上都会显示本国家语言它是怎么做到的就是我们今天要讲的国际化也称i18n i18n是Internationalization的简称是由第一个字母(i)单词的字母数(18)最后一个字母(n)组成的。 简单的说按照操作系统或浏览器设置的语言切换各语言显示 接下来我们学习下struts是怎么实现国际化(I18N)的 需求
如下图所示 写一个login页面 中文环境下各组件名显示中文用户名密码和登陆 英文环境下各组件名显示英文User namePassword和Login 步骤
struts-config.xml文件中添加message-resources标签 代码如下
/struts-config中间略message-resources parameterresources.MessageResources /中间略
/struts-config属性parameter的值是 src目录下的包名resources. 国际化语言资源文件名MessageResources 包名resources可省略 示例图如下 补充struts-config.xml文件中的action标签里配置validate属性时message-resources标签是必须配置项否则struts会抛出异常
定义国际化语言资源文件 文件名必须以struts-config.xml文件中message-resources标签的parameter属性配置的值开头国家语言和地区 message-resources parameter“resources.MessageResources” / 各资源文件名如下 ・MessageResources_en_US.properties 显示英文内容用 ・MessageResources_zh_CN.properties 显示中文内容用 ・MessageResources.properties 当浏览器没有设置任何语言选项时默认显示的内容内容是中文就显示中文是英文显示英文
文件内容是keyvalue的map数据结构 MessageResources_en_US.properties内容如下
login.form.filed.usernameUser name
login.form.filed.passwordPassword
login.form.button.loginLoginMessageResources_zh_CN.properties内容如下
login.form.filed.username用户
login.form.filed.password密码
login.form.button.login登录MessageResources.properties内容如下
login.form.filed.usernameUser name
login.form.filed.passwordPassword
login.form.button.loginLoginjsp文件中读取国际化语言资源文件内容 具体的实现struts已经为我们提供struts启动时已经将国际化语言资源文件内容读取到内存中 我们只需使用bean标签按照key就可取到对应的值 使用bean标签代码如下 bean:message key“login.form.filed.username”/ login.form.filed.usernam是国际化语言资源文件中的key
login.jsp代码如下
% page languagejava contentTypetext/html; charsetutf-8pageEncodingutf-8%
% taglib urihttp://struts.apache.org/tags-logic prefixlogic%
% taglib urihttp://struts.apache.org/tags-bean prefixbean%
!DOCTYPE html
html
head
meta charsetutf-8
titleInsert title here/title
/head
bodylogic:notEmpty namemsgfont colorred bean:write namemsg//font/logic:notEmptyform actionlogin.do methodpostbean:message keylogin.form.filed.username/:input typetext name usernamebrbean:message keylogin.form.filed.password/: input typepassword name passwordbrinput typesubmit valuebean:message keylogin.form.button.login//form/body
/html其他的代码actionformbean等可以参看重温经典struts1之xxx系列的文章
总结
运行效果在文章开头需求中的图可以看到以上就是struts1实现login页面国际化(I18N)的一个简单示例欢迎留言交流下篇见。