Jsf 手动添加的faces消息不';t出现在手风琴面板的选项卡中
我正在操作方法中添加一条faces消息,如下所示:Jsf 手动添加的faces消息不';t出现在手风琴面板的选项卡中,jsf,message,Jsf,Message,我正在操作方法中添加一条faces消息,如下所示: FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Mail invalide", "Vérifier le mail"); FacesContext.getCurrentInstance().addMessage("connection:mail", message); 我希望它显示在树中的以下位置: <h:body> <p:la
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Mail invalide", "Vérifier le mail");
FacesContext.getCurrentInstance().addMessage("connection:mail", message);
我希望它显示在树中的以下位置:
<h:body>
<p:layout fullPage="true">
<p:layoutUnit position="center" >
<p:accordionPanel multiple="true" activeIndex="0">
<p:tab title="Se connecter" >
<h:form id="connection">
...
<p:inputText id="mail" ... />
<p:message for="mail"></p:message>
...
<p:commandButton value="OK" action="#{login.validateMailPaswword()}" ajax="false" />
...
...
但是,它没有出现在所需的位置。这是如何导致的,我如何解决它?要使消息显示在所需的位置,
addMessage()中的客户端ID必须有效。您已经考虑到
是一个NamingContainer
,因此将其组件ID前置到子级的客户端ID。但是,您忽略了
也是这样一个问题(您应该通过在计算消息的客户端ID时查看生成的HTML输出来发现它)
所以,首先也给它一个固定的ID。例如
<p:accordionPanel id="tabs">
addMessage()
中的客户端ID必须有效,才能使消息显示在所需位置。您已经考虑到
是一个NamingContainer
,因此将其组件ID前置到子级的客户端ID。但是,您忽略了
也是这样一个问题(您应该通过在计算消息的客户端ID时查看生成的HTML输出来发现它)
所以,首先也给它一个固定的ID。例如
<p:accordionPanel id="tabs">
它不起作用@smoggersi到目前为止还没有使用css文件,primefaces已经有一些很酷的样式标签,。。。但是任何帮助都会非常感激,这与CSS无关。它不起作用@Smogger我到目前为止还没有使用CSS文件,primefaces已经有一些很酷的样式标签,。。。但是任何帮助都会非常感激,这与CSS.Solution-->context.addMessage(“tabs:connection:mail”,myMessage)无关;谢谢你真的救了我!解决方案-->context.addMessage(“选项卡:连接:邮件”,myMessage);谢谢你真的救了我!
context.addMessage("tabs:connection:mail", message);