【问题标题】:JSF 2.0 Validation messages from database来自数据库的 JSF 2.0 验证消息
【发布时间】:2010-11-18 14:57:11
【问题描述】:

我正在使用一个数据库来保存我网页的所有文本值,这样我就可以在不同的语言之间切换。我将 JSF 2.0 添加到我的项目中,但是当我尝试从我的数据库中获取验证消息时也失败了。有没有办法编写我自己的验证消息源来从数据库中检索消息?

非常感谢任何帮助!

提前谢谢大家,

最好的问候, 罗伯特

【问题讨论】:

标签: jsf-2 validation


【解决方案1】:

您可以扩展 java.util.ResourceBundle 并将类似的内容放入 faces-config.xml:

<application>
    <locale-config>
        <default-locale>en</default-locale>
    </locale-config>
    <message-bundle>package.MyResourceBundle</message-bundle>
    <resource-bundle>
        <base-name>package.MyResourceBundle</base-name>
        <var>msg</var>
    </resource-bundle>
</application>

【讨论】:

  • 我试过这种方式,但结果是java.util.MissingResourceException: Can't find bundle for base name at.luxbau.mis2.web.i18n.ResourceBundle, locale de
  • 将它与` ValidationMessages` 一起使用,其中ValidationMessages_xx.propertiessrc/main/resources 中,结果在我的WAR 中使用WEB-INF/classes/ValidationMessages_xx.properties 按预期工作。
  • 我有时也会遇到这个错误。我只是通过创建另一个空类来修复它,该类除了扩展 package.MyResourceBundle 之外什么都不做,然后将其他类命名为 package.MyResourceBundle_de 或类似名称。
  • 我已经有两个类从ResourceBundle 扩展而来,即at.luxbau.mis2.web.i18n.ResourceBundle_deat.luxbau.mis2.web.i18n.ResourceBundle_en。但是将它与&lt;message-bundle&gt;at.luxbau.mis2.web.i18n.ResourceBundle&lt;/message-bundle&gt; 一起使用总是会导致MissingResourceException
  • 如果没有可查看的源代码,无法判断问题可能出在哪里。
猜你喜欢
  • 1970-01-01
  • 2011-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-26
  • 1970-01-01
  • 2013-06-05
相关资源
最近更新 更多