【问题标题】:Access ResourceBundle keys which contain dots ?访问包含点的 ResourceBundle 键?
【发布时间】:2011-03-24 08:40:04
【问题描述】:

我的 JSF2 应用程序是完全国际化的,使用 ResourceBundle。

现在我有很多 Javascript 代码,它们会发出一些警报和一些东西。我想在那里访问我的 ResourceBundle。我可以像这样成功地访问简单的 ResourceBundle 键:

alert("#{bundle.message_email_sent}");

不幸的是,我的包中键的约定是使用点 . 作为我的键的分隔符,例如 message.email.sent=E-Mails sent.。但是当我这样做时

alert("#{bundle.message.email.sent}");

JSF 尝试访问“电子邮件”,就像对 bundle.message 返回的字符串的函数一样。 我如何告诉 EL-resolver 使用整个“message.email.sent”作为密钥?

我也尝试过类似的东西

alert("#{bundle[\'message.email.sent\']}");

这也会导致错误。 有什么建议吗?

【问题讨论】:

    标签: jsf jsf-2 el


    【解决方案1】:

    您确实需要使用大括号表示法,当“键”包含在 EL 中有意义的字符时,但您不需要转义单引号,无论 JS 语法高亮器是否告诉您。 EL 在 Java/JSF 运行时运行,而不是在 JS 运行时运行。

    alert("#{bundle['message.email.sent']}");
    

    【讨论】:

    • 如此明显......我为什么不测试呢?谢谢!
    猜你喜欢
    • 2011-08-09
    • 2017-03-22
    • 2021-07-11
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 2015-10-03
    • 2012-10-09
    • 2017-02-01
    相关资源
    最近更新 更多