我做了什么来实现它。
操作文件:
ResourceBundle rb = ResourceBundle.getBundle("com.....ApplicationResources");
String title=rb.getString("entity.member");
messages.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("message.save",title ));
申请资源:
entity.member=Member
entity.Locker=Locker
message.save={0} saved successfully
我想要的是:
使用硬编码字“会员”替换“消息替换值”的路线很短。 喜欢 messages.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage(“message.save”,“Member”));
但是
1. MessageResources resources = getServlet().getInternal().getMessageResources("com....ApplicationResources")
2. ResourceBundle rb = ResourceBundle.getBundle("com.....ApplicationResources");
3. String title = getResources(request).getMessage(getLocale(request), "entity.member");
messages.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("message.save",title ));
以上三条是用相应的语言措辞替换“消息替换值”的漫长路线。
寻找像我用于硬编码的短路线。
答案 0 :(得分:0)
在struts.xml中包含以下元素
<constant name="struts.custom.i18n.resources" value="ApplicationResources" />
将ActionSupport扩展到您的Action类
com.opensymphony.xwork2.ActionSupport
在需要财产价值的地方使用以下功能
getText(String key)
答案 1 :(得分:0)
您可以使用MessageFormat
使用参数格式化邮件。
MessageFormat.format(rb.getString("message.save"), new Object[]{title})
并与ActionMessage
一起使用,就像Struts在使用MessageResources
时所做的那样。