在应用程序中,我通过字符串属性文件提供多种语言。
在菜单中,链接中的引用可能如下所示:
<xp:link
text="#{strings.menu_label_mandate_request}"
title="#{strings.menu_label_mandate_request}"
value="/mandate.xsp" styleClass="plainLink">
</xp:link>
这很好。
现在我想在java类中定义链接,并通过重复控制循环它,但保持多语言支持。
在我的Menu类中,我创建了一个Page对象数组,并设置了如下属性:
this.navigation = new ArrayList<Page>();
this.navigation.add(new Page("menu_label_mandate_request", "mandate.xsp", "fa fa-users", false));
...
我在xsp上添加了一个重复控件来启动类(通过托管bean):
<xp:repeat id="rptNavigation" rows="30"disableOutputTag="true" value="#{javascript:menu.navigation}" var="nav">
但是我在设置正确的原型设计时遇到了问题(如果可能):
<xp:link
text="#{strings.nav.label}"
title="#{strings.nav.label}"
value="/mandate.xsp" styleClass="plainLink">
</xp:link>
所以我收到错误消息: java.util.MissingResourceException:无法找到bundle java.util.PropertyResourceBundle,key nav的资源 无法找到捆绑java.util.PropertyResourceBundle,密钥导航的资源
有没有人知道我忽略了什么?
答案 0 :(得分:1)
您正在表达动态值nav
应该作为文字对象而不是参考。写:
<xp:link
text="#{strings[nav.label]}"
title="#{strings[nav.label]}"
value="/mandate.xsp" styleClass="plainLink">
</xp:link>