1

我做了什么来实现它。

行动文件:

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 ));

以上三个是用各自的语言措辞替换“消息的替换值”的漫长路线。

寻找像我硬编码一样的短途路线。

4

2 回答 2

0

在您的 struts.xml 中包含以下元素

<constant name="struts.custom.i18n.resources" value="ApplicationResources" />

将 ActionSupport 扩展到您的 Action 类

com.opensymphony.xwork2.ActionSupport

在需要属性值的任何地方使用以下函数

getText(字符串键)

于 2014-01-23T09:22:25.433 回答
0

您可以使用MessageFormat参数来格式化消息。

MessageFormat.format(rb.getString("message.save"), new Object[]{title})

ActionMessage像使用 Struts 一样使用它MessageResources

于 2014-01-23T12:55:53.170 回答