如何将各种参数传递给.properties文件以获取消息?

时间:2015-09-19 16:04:22

标签: java

我正在使用Tapestry,并希望将各种参数传递给.properties文件,以便在屏幕上打印出消息。

例如,我想像这样打印消息:

  • 消息为1,2,3和4.或
  • 消息为1和2.或
  • 消息为1。

如何在属性文件中定义消息,以便可以传递各种数量的参数?我可以在列表中传递它们吗?

.container-fluid {
   background:url('background-image.jpeg') center;
   min-height:500px /* adding height to see the div, otherwise it won't show up */
}

1 个答案:

答案 0 :(得分:1)

Tapestry提供org.apache.tapestry.ioc.Messages服务(在tapestry-ioc中),您可以将其注入任何组件:

  • 访问附加到此组件的.properties文件中指定的任何属性(方法String get(String key)),
  • 获取并使用MessageFormatter对象来做一种" String.format(...)"这个文件的属性。

在Java方面,在组件类中,您可以按照自己的方式构建消息:

public class MyComponent {

    @Inject
    private Messages messages;

    @Property
    private String messageToDisplay;

    @SetupRender
    final void init() {
        // ...
        messageToDisplay = messages.get("some-key").format(valueForParam0, valueForParam1, ...);
        // ...
    }
}

此外,从Tapestry的v5.3开始,您可以使用org.apache.tapestry5.alerts.AlertManager服务轻松地将消息显示为警报(级别如" info","警告"等等。)。