我想使用Vaadin在错误指示器中制作自定义消息,例如:http://vaadin.com/download/book-of-vaadin/vaadin-7/html/img/application/errorindicator-example2.png
我的应用程序是多语言的,我希望根据所选语言为同一错误提供不同的消息。是否可能为一个错误指示器提供不同的错误消息?如果有可能怎么做呢?
答案 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消息替换。