<h:panelGroup rendered="#{Account.Status eq 'FAILED' }">
<h:outputText value="# {msg['account/failed']}" escape="false" />
</h:panelGroup>
<h:panelGroup rendered="#{Account.Status eq 'SUCCESS' }">
<h:outputText value="# {msg['account/success']}" escape="false" />
</h:panelGroup>
...more panelgroup messages like this for all different Status types,
and different messages to be shown..
在我的glassfish jee6应用程序中,我根据帐户的状态显示消息,我将字符串保存在文本文件中,并从jsf页面访问,如上所述{msg['account/failed']}
现在,对于不同类型的消息,这些if-else状态条件变得越来越多,并使jsf页面变得一团糟,如何从java代码中执行相同的操作?
我可以设置消息的值并将if else条件放在java代码中,但是如何访问保存字符串的文本文件呢?或者任何其他干净的jsf方法来做到这一点?
3条答案
按热度按时间zsohkypk1#
只需将枚举值作为bundle键的一部分。例如
(我只更换了
/
由.
并将示例/属性名称小写(符合标准约定)具有
或者,使键成为枚举的属性。另请参见:
如何在f:selectitem中使用枚举值
正在资源束中本地化枚举值。
8iwquhpp2#
你可能想使用jstl标签…我使用过jsf,有时你不得不尝试一些东西。你可以用,
或使用
qzwqbdag3#
假设帐户状态是一个枚举,我会发布这个方法
作为el函数,并像
(代码未经测试,因为我手头没有eclipse,但总体思路应该是合理的)