Struts1.x系列教程(16):使用LocaleAction类实现国际化的Web程序

简介: 本文为原创,如需转载,请注明作者和出处,谢谢! 上一篇:Struts1.x系列教程(15):使用DownloadAction类统计文件下载次数     我们曾经在《Struts1.x系列教程(13):国际化》一文中讲过如何通过编程的方式实现多语言的Web页面。

本文为原创,如需转载,请注明作者和出处,谢谢!

上一篇:Struts1.x系列教程(15):使用DownloadAction类统计文件下载次数

    我们曾经在《Struts1.x系列教程(13):国际化》一文中讲过如何通过编程的方式实现多语言的Web页面。在本文中,我们会介绍另外一种实现多语言Web页面的方法。这种方式与《Struts1.x系列教程(13):国际化》一文中所介绍的方法的区别就是无需编写一行代码就可以完成多语言的设置。

Struts提供了一个LocaleAction类来做这个工作。LocaleAction类是一个final动作类,因此,LocaleAction类不能被继承。我们可按着如下两步来使用LocaleAction类进行多语言设置:
    1. 
配置一个动态Form(当然,也可以使用ActionForm的子类,但为了方便,建议使用动态Form)。这个动态Form至少得有一个表示语言的language属性(如zhfrenjp等)。我们还可以加一个表示国家或地区的country属性(USCNTW)

2. 使用<action>元素配置一个Struts动作。这个Struts动作的type属性值是org.apache.struts.actions.LocaleActionname属性值就是在第1步配置的动作Formname属性值。而且在<action>元素中必须有一个名为“success”的<forward>元素。如果语言设置成功,页面就会forward到“success”所指向的页面。

下面我们来举一个使用LocaleAction动作类设置语言的例子,代码如下:

 
< form-beans >
     
    < form-bean  name ="EnglishForm"  type ="org.apache.struts.action.DynaActionForm" >             
       
< form-property  name ="language"  type ="java.lang.String"  initial ="en"   />
       
< form-property  name ="country"  type ="java.lang.String"  initial ="US"   />
   
</ form-bean >
   
< form-bean  name ="ChineseForm"  type ="org.apache.struts.action.DynaActionForm" >             
       
< form-property  name ="language"  type ="java.lang.String"  initial ="zh"   />
   
</ form-bean >
</ form-beans >
  
< action-mappings >
      
    < action  name  = "EnglishForm"  path ="/en"  type ="org.apache.struts.actions.LocaleAction" >
       
< forward  name ="success"  path ="/global.jsp"   />
   
</ action >  
   
< action  name ="ChineseForm"  path ="/zh"  type ="org.apache.struts.actions.LocaleAction" >
       
< forward  name ="success"  path ="/global.jsp"   />
   
</ action >  
</ action-mappings >            
 

在上面的例子中,使用了在《Struts1.x系列教程(13):国际化》一文中建立的global.jsp文件。在启动Tomcat后,分别在IE中输入如下的URL,可以得到中文和英文的Web页面。

中文页面:http://localhost:8080/samples/zh.do

英文页面:http://localhost:8080/samples/en.do

下一篇: Struts1.x系列教程(17):使用IncludeAction和ForwardAction类包含和转入Web资源

国内最棒的Google Android技术社区(eoeandroid),欢迎访问!

《银河系列原创教程》发布

《Java Web开发速学宝典》出版,欢迎定购

目录
相关文章
|
1月前
|
缓存 关系型数据库 API
后端开发:构建高效、可扩展的Web应用程序的关键
后端开发:构建高效、可扩展的Web应用程序的关键
20 0
|
5天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
11 0
|
24天前
|
前端开发 JavaScript 数据管理
描述一个使用Python开发Web应用程序的实际项目经验,包括所使用的框架和技术栈。
使用Flask开发Web应用,结合SQLite、Flask-SQLAlchemy进行数据管理,HTML/CSS/JS(Bootstrap和jQuery)构建前端。通过Flask路由处理用户请求,模块化代码提高可维护性。unittest进行测试,开发阶段用内置服务器,生产环境可选WSGI服务器或容器化部署。实现了用户注册登录和数据管理功能,展示Python Web开发的灵活性和效率。
14 4
|
30天前
|
API
2024常用Web支付开发讲解教程
本教程为web支付开发,讲解了最常用的两钟支付:支付宝支付和微信支付,服务器配置和API对接,学完本课程可以学会微信支付、和支付宝支付开发。
18 2
2024常用Web支付开发讲解教程
|
30天前
|
架构师 前端开发
web全栈架构师第16期教程
互联网时代已进入后半场,行业环境发生了显著变化。互联网人,尤其是技术人员,如何在加速更迭的技术浪潮中持续充电,提升自身价值,是当下必须面对的挑战。课程涉及了现下前端实际开发时所需要的各块内容,并深度对标 阿里 P6+级别所具备的知识储备及开发技能,奠定源码阅读基础和全栈开发能力。
19 3
web全栈架构师第16期教程
|
1月前
|
SQL 安全 测试技术
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
15 0
|
1月前
|
存储 安全 数据安全/隐私保护
什么是 Web 应用程序的会话管理?如何在 Python 中实现?
什么是 Web 应用程序的会话管理?如何在 Python 中实现?
12 2
|
1月前
|
存储 设计模式 前端开发
请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
【2月更文挑战第26天】【2月更文挑战第89篇】请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
|
1月前
|
Web App开发 前端开发 测试技术
Web应用程序测试工具Selenium用法详解
Web应用程序测试工具Selenium用法详解
37 0
|
1月前
|
XML JavaScript 前端开发
Web 扫描神器:WhatWeb 保姆级教程(附链接)
Web 扫描神器:WhatWeb 保姆级教程(附链接)
52 0