struts 动态文本国际化

资源文件中:

 

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 将异常传送出去

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值