struts 动态文本国际化

动态数据国际化开发 静态数据国际化 对于软件中的菜单栏、导航条、错误提示信息,状态信息等这些固定不变的文本信息,可以把它们写在一个properties文件中,并根据不同的国家编写不同的properties文件。这一组properties文件称之为一个资源包。 在JavaAPI中提供了一个ResourceBundle 类用于描述一个资源包,并且 ResourceBundle类提供了相应的方法getBundle,这个... 阅读详情

资源文件中:

 

user.login.success={0},登录成功

user.login.fail=登录失败

user.not.found=用户不能找到,用户名称=[{0}]

user.password.error=密码错误

 

后台:

 

ActionMessages  messages = new ActionMessages();

 

//创建国际化提示消息文本

ActionMessage  message = new ActionMessage("user,login,success" , "java_min");    //构造此对象时需要传入一个参数,此参数就是资源文件中的一个key,换句话说,每一个ActionMessage实例就对应了一个国际化消息

 

// ActionMessage  message = new ActionMessage("user,login,success" , new Object[]{"java_min"}); 与上相同

 

//添加国际化文本

messages.add("loginSuccess1" , message);       

 

// ActionMessage  message1 = new ActionMessage("user.login.fail"); 

 

//添加国际化文本

messages.add("loginSuccess2" , message1);        

 

//传递国际化消息文本

this.saveMessages(request , messages);

 

----------------------------------------------------------------------------------------------------------------------------------------------

 

//创建国际化错误消息

ActionMessage message = new ActionMessage("user.not.found" , "java_min");     //由于资源文件中要填充值,所以用两参数构造器,如果资源文件中没有需要填充的值,则使用一个参数的构造器。

 

//添加国际化文本

messages.add("error1" , message);                   

 

//传递国际化文本

this.saveErrors(request , messages);              //此方法用于添加错误消息,提示消息也可以,不过为了区分提示消息,所以用saveErrors()

 

注意:提示消息存储在MESSAGE_KEY上,错误消息存储在ERROR_KEY上

 

 

前台:

 

由于后天struts源码中有 request.setAttribute(Globals.MESSAGE_KEY , msssages);  所以前天我们可以使用 request.getAttribute(Globals.MESSAGE_KEY ); 得到想要的信息,但是 struts 给我们提供了标签,所以我们不用这种方式

 

测试提示消息:

 

<%taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%>

<%taglib prefix="html" uri="http://struts.apache.org/tags-html %>

 

显示时使用 <html:messages id=""> 标签,该标签用于读取 ActionMessages 对象的,由于 ActionMessages 对象中可以存放很多个 ActionMessage 对象,所以该标签相当于一个循环标签,由于要循环所以每次应该给出一个变量,将读出的对象应该放到这个变量中去,所以此标签的 id 就是那个变量了。

 

<html:messages id="msg"  message="true">       //message默认值为false即读取提示消息的,即MESSAGE_KEY上的值,如果设置成true即读取错误消息,即ERROR_KEY上的值,此标签会将所有的同种(提示,错误)信息都遍历出来

     <bean:write name="msg" />

</html:messages>

 

 

页面测试:(输入)

admin

 

页面显示:

admin,登陆成功

 

----------------------------------------------------------------------------------------------------------

 

<html:message  id="msg"  message="true"  property="loginSuccess1">   //property用于过滤,这样就不会讲所有的同种消息显示出来了,由于message="true" 所以这样只会显示 提示消息 loginSuccess1 的信息

     <bean:write name="msg" />

</html:message>

 

 

 

测试错误消息:

 

<%taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%>

<%taglib prefix="html" uri="http://struts.apache.org/tags-html %>

 

<html:messages id="msg"  property="error1">                             //message默认就是false 用于显示错误消息的

    <bean:write name="msg">

</html:messages>

 

 

 

注意:

 

<html:messages> 标签既能读取错误消息,又能读取提示消息,<html:error> 标签只能读取错误消息,即只能读取 ERROR_KEY上的值,但是这个标签的修饰由 struts 提供的,在空项目内的样例资源文件中的 errors.header 部分即 standard errors 部分的内容复制到每个资源文件中即可。

    

<html:errors property="error1" />

 

 

注意:

 

此知识点可以用做手动异常截取,构造一个 ActionMessage 将异常传送出去

动态配置Struts2的国际化方案 Struts2是一个常用的Java Web应用框架,提供了国际化的支持,可以轻松地实现多语言的应用。本文将介绍如何在Struts2中动态配置国际化,以便根据用户的语言偏好提供相应的界面文本。通过以上步骤,我们可以实现在Struts2应用中动态切换国际化方案。根据用户的语言偏好,系统会自动加载对应的国际化资源文件,并在界面上显示相应的文本。在上述代码中,通过标签和"name"属性,我们可以动态地根据用户的语言偏好显示相应的国际化文本。希望本文对您理解和实践Struts2国际化有所帮助。 阅读详情

相关推荐

一个利用struts做的简单国际化

1、struts国际化的配置 * 在struts-config.xml文件中加入:<message-resources parameter="MessageResources" /> 2、提供不同版本的国际化资源文件,中文需要采用native2ascii转换成unicode 3、在jsp中采用<bean:message>标签来读取国际化消息文本 4、了解利用struts默认将locale放到session中的特性,完成采用编程的方式切换语言设置,设置语言到session中的,key为Globals.LOCALE_KEY,value为当前设置的语言. * 参见:ChangeLanguageAction.java 5、消息文本的国际化处理,共有三个步骤: * 创建国际化消息 * 传递国际化消息 * 显示国际化消息 如何创建国际化消息? 理解ActionMessage和ActionMessages两个对象的区别 如何传递国际化消息? * 调用saveMessage()传递普通消息 如何显示国际化消息? 通过<html:messages>标签显示消息(可以显示普通消息和错误消息)

3.Strut国际化动态文本(编程式处理异常)::Action

package com.bjpowernode.i18n; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.Act

241

[信号与系统]一阶与二阶连续时间系统和离散时间系统

定义:一阶连续时间系统由一阶线性常系数微分方程描述: dy(t)dt+ay(t)=bx(t) \frac{dy(t)}{dt} + a y(t) = b x(t) dtdy(t)​+ay(t)=bx(t)时间常数:时间常数 τ=1a\tau = \frac{1}{a}τ=a1​ 是系统响应速度的衡量指标。时间常数越小,系统响应越快。冲激响应:一阶系统的冲激响应是指数衰减或增长的形式。例如,对于一个单位冲激输入,响应为: h(t)=bae−at h(t) = \frac{b}{a} e^{-at} h(t)=

Andius的博客 2122

国际化动态文本(MessageFormat)

MessageFormat(动态文本) 如果一个字符串中包含了多个与国际化相关的数据,可以使用MessageFormat类对这些数据进行批量处理。 例如:At 12:30 pm on jul 3,1998, a hurricance destroyed 99 houses and caused $1000000 of damage 以上字符串中包含了时间、数字、货币等多个与国际化相关的数据,

914

本地部署大模型 vs 网页版大模型区别

fill:#333;color:#333;color:#333;fill:none;本地服务器/工作站硬件资源私有化部署GPU集群高速存储模型文件训练框架推理引擎。

Ds-Rag的博 1715

大学物理第二章 质点动力学详解

大学物理第二章 质点动力学概念详解

weixin_63026364的博客 1万+

程序国际化及动态处理文本

一:程序国际化  国际化程序的理解:   I18N :国际化程序  同一套程序代码可以在各个语言环境下进行使用。  各个语言环境下,只是语言显示的不同,那么具体的程序操作本身都是一样的,国际化就是完成这样一个功能。  Locale类: Locale对象表示了特定的地理,政治和文化区域,需要Locale类来执行其任务的操作称为语言环境敏感的操作,使用Locale为用户量身定制信息。  

WannerWang的博客 1741

三菱CNC数据采集实战:从SDK安装到C#代码调试全流程(附完整资源包)

本文为C#开发者提供了三菱CNC数据采集的完整实战指南。详细介绍了从获取并安装核心A2协议SDK、配置Visual Studio开发环境,到理解COM接口文档、封装C#通信类,并构建具备多设备连接与定时采集功能的WinForms应用程序的全流程。文章重点分享了网络调试、异常处理及性能优化等关键实战经验,帮助开发者高效打通工业自动化数据采集链路。

oauth7security的博客 709

Struts动态文本国际化

1、struts国际化的配置 * 在struts-config.xml文件中加入: 2、提供不同版本的国际化资源文件,中文需要采用native2ascii转换成unicode 3、在jsp中采用标签来读取国际化消息文本 4、了解利用struts默认将locale放到session中的特性,完成采用编程的方式切换语言设置 * 参见:ChangeLanguageAc

Wyunbo的专栏 440

使用Termux在Android设备上编译运行SpecCPU2006

SPEC2006搭配Termux,竟然还能这么玩?!

菜菜的菜园子 2962

帆软FineBI考试题

Flint 补录表,有批次删除功能。在分析主题内添加数据时能够选择批量添加数据。插件安装过程中有报错提示需要下载 Fine I for Excel 运行环境进行修复,修复完毕后重新安装插件。图例显示支持自定义设置,且图例标题支持隐藏显示。finebi中的指标如果想进行维度区间/真的自定义分组,不能直接拖拽到组建区域中需要先转化为维度方可进行指标分组。excel报表不支持分页。

Davina_yu的博客 1609

Struts框架实战精讲 struts 1(12)- 动态文本的国际化

1 动态文本的国际化 Action public class LoginAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginActionForm laf = (Log

一角残叶的博客 212

[STC32G144K246入门第三步]驱动串口收发(接收不定长数据)

本文介绍了STC32G144K246单片机的串口功能配置与使用。该芯片具有8组独立USART,支持异步/同步模式,各串口可独立配置波特率并支持DMA传输。重点讲解了串口寄存器配置方法,包括引脚设置、波特率计算和中断处理。特别指出RX引脚需配置为开漏或准双向口以避免接收乱码。还介绍了通过定时器实现不定长数据接收的技术方案,并提供了完整的初始化代码和中断处理函数示例。文中包含串口时序图、寄存器配置表等实用参考信息,适合嵌入式开发者快速上手多串口应用开发。

sinat_58149788的博客 197

struts1的国际化原理

一、java中的国际化 a)         jave中实现国际化的原理 java中通过Locale对象可以指定或得到当前系统的默认国际化配置及语言代码和国家代码,然后通过ResourceBundle类得到对应Lacale对象的国际化配置文件即Properties文件,通过读取键的值实现国际化。 b)         java中实现国际化需要的类 locale类: 可以指定所要显示的语言

⑥②专栏 1514

Python 爬虫实战:从零搭建第一个爬虫程序(附完整代码)

本文介绍了Python网络爬虫的入门实战,以豆瓣Top250电影榜单为例,详细讲解爬虫开发全流程。内容包括爬虫基础原理、环境搭建、请求发送与响应处理、数据解析与保存等核心环节,并提供了可直接运行的完整代码示例。文章还分析了常见问题解决方案,并强调了爬虫开发的合规注意事项。通过本教程,读者可快速掌握Python爬虫的基本思路和实操技巧,为后续深入学习BeautifulSoup、XPath等进阶技术打下基础。

2503_91057718的博客 2316

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Struts1的国际化处理(汇总整理)

Struts1的国际化处理(汇总整理)

hakunamatata2008的专栏 4430

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Struts——国际化问题

一、Struts的国际化     Struts是一种支持国际化的MVC的WebFramework。可是如何来使用struts国际化是一个问题。下面我们来探讨一下,如何实现Struts的国际化。Web程式的国际化涉及到3个层面。 第一、jsp部分的输入/输出; 第二、应用处理程序的国际化; 第三、DB的国际化问题。    这里主要探讨的是jsp部分的输入/输出问题。     步骤

康 1177

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

struts2中的国际化

1.国际化          1、 国际化原理 ? 什么是国际化 ?     同一款软件 可以为不同用户,提供不同语言界面  ---- 国际化软件     需要一个语言资源包(很多properties文件,每个properties文件 针对一个国家或者语言 ,     通过java程序根据来访者国家语言,自动读取不同properties文件 )              2、 资源包编写     ...

漫漫学习成长之路 206

5.Strut国际化动态文本(声明式处理异常):struts-config.xml web.xml

<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> <acti

252

5.Strut国际化动态文本(编程式处理异常)::struts-config.xml web.xml

<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> <acti

243

SSH系类(三)struts国际化(I18N)

Struts实现国际化和java实现国际化是一样的,那么什么是国际化呢?对于我们浏览的网页,对于同一种网页,我们可以看到不同种语言的形式,而这些网页的制作都是支持了国际化,对于语言的选择,缺省的locale是由操作系统决定的。     java中实现国际化的原理:java中的locale对象可以指定或得到当前系统默认的国际化配置以及语言代码和国家代码,然后通过ResourceBundle类得到对

致力于顶级java全栈工程师 1451

Struts1国际化小结

u010260814的专栏 114

struts1.x的国际化

鸣谢: http://www.cnblogs.com/jinzhengquan/archive/2011/02/14/1954706.html http://blog.youkuaiyun.com/chenhongxin/article/details/4256435 struts1.x的国际化 一,基本的国际化 步骤1:配置struts国际化 在struts-config.xml中配置m

韬晦潜胖蛇的专栏 771

struts中的bean-message标签用来实现国际化

首先建两个properties文件:ApplicationResources_en.properties,ApplicationResources_zh-CN.properties ApplicationResources_en.properties的内容如下: greeting=welcome username=the name of user password=the  passw

巨峰的专栏 2644

Struts2中的I18N(国际化)处理

<br /> 1.     I18N处理<br /> <br /> 什么是I18N问题?<br />在英文中, 国际化(Internationalization)被缩写为I18N, 即只取首尾两个字母, 中间字母为18个。<br />问题在哪里?<br /> 一个简单的例子<br />publicclass EnglishHelloWorld {<br /> <br />    /**<br />     *@paramargs<br />     */<br />    publicstaticvoid

李腾飞的专栏 1万+

Struts2之国际化

一、国际化介绍   Struts2国际化的目的和Java国际化一致,对于浏览器支持的语言显示不同的文字,如果浏览器支持中文,则显示中文,如果浏览器支持英文,则显示英文; 国际化的目的:   很多人刚开始学国际化觉得国际化没有用,因为我们通常都只需要显示中文即可;但是比如google,全世界的人都在访问此网站,这时如果只显示中文网页肯定是不合理的。因此需要

conviction_thinking的专栏 657
上一篇: 国际化自动转换
下一篇: jstl 国际化
java_min
博客等级 码龄18年 61粉丝 161原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值