我的JSF2应用程序使用ResourceBundle完全国际化.
现在我有很多Javascript代码,它会做一些警报和事情.在那里,我想访问我的ResourceBundle.我可以像这样成功访问简单的ResourceBundle键:
alert("#{bundle.message_email_sent}");
Run Code Online (Sandbox Code Playgroud)
不幸的是,我在我的捆绑中的键的惯例是使用点.例如,作为我的钥匙的分隔符message.email.sent=E-Mails sent.
.但是,当我这样做
alert("#{bundle.message.email.sent}");
Run Code Online (Sandbox Code Playgroud)
JSF尝试像bundle.message返回的字符串上的函数一样访问"email".我如何告诉EL解析器使用整个"message.email.sent"作为密钥?
我也试过像
alert("#{bundle[\'message.email.sent\']}");
Run Code Online (Sandbox Code Playgroud)
这也会导致错误.有什么建议?
你确实需要使用括号表示法,当'key'包含在EL中有意义的字符时,你不需要逃避单引号,无论JS语法高亮显示器告诉你什么.EL在Java/JSF运行时运行,而不是在JS运行时运行.
alert("#{bundle['message.email.sent']}");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2274 次 |
最近记录: |