所以,我试图将验证错误消息显示为图像标题。我想这样做,因为消息很长,我不希望它们发生在我的页面上。
试图将UIComponent <h:message />
对象绑定到控制器对象,但后来我找不到如何从UIComponent获取span的值。
我该怎么办?
答案 0 :(得分:1)
在迭代消息时,只需在<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。
答案 1 :(得分:0)
另一种解决方案是将所有这些长消息定义并放在.properties
的文件中,作为捆绑消息。看看这里:When to use message bundle and resource bundle