vaadin错误指示和消息

时间:2013-01-30 15:07:37

标签: vaadin

我想使用Vaadin在错误指示器中制作自定义消息,例如:http://vaadin.com/download/book-of-vaadin/vaadin-7/html/img/application/errorindicator-example2.png

我的应用程序是多语言的,我希望根据所选语言为同一错误提供不同的消息。是否可能为一个错误指示器提供不同的错误消息?如果有可能怎么做呢?

2 个答案:

答案 0 :(得分:1)

使用java.util.ResourceBundle将有助于您的i18n问题。每次更改Locale时,您都需要更新捆绑包。例如;

bundle = ResourceBundle.getBundle("messages", locale);

为了从包中检索错误表示,您可以使用bundle.getString("error.message")

通过这样做,每次更改语言环境时都不需要更新代码。仅切换表示字符串的资源位置。有关详细信息,请http://docs.oracle.com/javase/tutorial/i18n/resbundle/prepare.html

答案 1 :(得分:0)

请记住将此代码添加到您的组件中:

myComponent.setConversionError("{1}");

此行代码将您的自定义消息设置为错误指示符。否则你会收到这条消息:

  

无法转换为{0}

其中{0}是您的转换器演示类的名称。

事实上,这是AbstractField.setConversionError(java.lang.String valueConversionError) API方法的javadoc:

  

设置无法将字段值转换为数据源类型时显示的错误。如果消息中存在{0},则它将替换为数据源类型的简单名称。如果消息中存在{1},则它将被ConversionException消息替换。