【发布时间】:2014-02-26 04:48:48
【问题描述】:
所以,我试图将验证错误消息显示为图像标题。我想这样做,因为消息很长,我不希望它们出现在我的页面上。
尝试将 UIComponent <h:message /> 对象绑定到控制器对象,但后来我找不到如何从 UIComponent 获取跨度值。
我该怎么办?
【问题讨论】:
标签: validation jsf jsf-2
所以,我试图将验证错误消息显示为图像标题。我想这样做,因为消息很长,我不希望它们出现在我的页面上。
尝试将 UIComponent <h:message /> 对象绑定到控制器对象,但后来我找不到如何从 UIComponent 获取跨度值。
我该怎么办?
【问题讨论】:
标签: validation jsf jsf-2
在迭代消息时,只需在 <ui:repeat> 中自己控制标记。您可以通过FacesContext#getMessageList()获取EL中的消息。
所以不是,
<h:inputText id="foo" ... />
<h:message for="foo" />
做类似的事情
<h:inputText binding="#{foo}" ... />
<ui:repeat value="#{facesContext.getMessageList(foo.clientId)}" var="message">
<h:graphicImage name="#{message.severity}.png" title="#{message.summary}" />
</ui:repeat>
其中#{message} 是FacesMessage 的一个实例,提供通常的getter。
【讨论】:
facesContext.getMessageListthx!
另一种解决方案是将所有这些长消息定义并放入.properties 的文件中,作为捆绑消息。看这里:When to use message bundle and resource bundle
【讨论】:
<span>Validation message</span> 验证消息。除非有人给我提示,否则我可能会暂时离开它。