Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf Primefaces消息用于验证,其余消息则用于咆哮_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Jsf Primefaces消息用于验证,其余消息则用于咆哮

Jsf Primefaces消息用于验证,其余消息则用于咆哮,jsf,jsf-2,primefaces,Jsf,Jsf 2,Primefaces,我有一个带有primefaces的JSF页面,我想用p:messages来表示输入验证的消息,用Growl元素来表示通知、错误 目前,我有一个属性为的咆哮,我正在用这个属性为发送通知 问题是我不知道我必须在p:messages组件中放入哪个for属性。如果我将其保留为null,则通知消息将以咆哮和p:messages的形式显示 这里您可以看到我的JSF示例 <p:growl id="growlNotifyNewReg" for="growlNotificationsNewRegister"

我有一个带有primefaces的JSF页面,我想用p:messages来表示输入验证的消息,用Growl元素来表示通知、错误

目前,我有一个属性为的咆哮,我正在用这个属性为发送通知

问题是我不知道我必须在p:messages组件中放入哪个for属性。如果我将其保留为null,则通知消息将以咆哮和p:messages的形式显示

这里您可以看到我的JSF示例

<p:growl id="growlNotifyNewReg" for="growlNotificationsNewRegister"
                         showSummary="true" 
                         showDetail="true"
                         autoUpdate="true"/>

<h:outputText value="Validado"/>
<p:selectBooleanCheckbox id="checkValidado" value="#{}" required="true"/>

<h:outputText value="Temperatura (ºC)"/>
<p:inputText id="Temperatura" value="#{}" required="true">
      <f:validateDoubleRange minimum="-50" maximum="60" />
      <f:convertNumber maxFractionDigits="1" />
</p:inputText>

<!-- Other inputs... -->

<p:messages showSummary="true" showDetail="true" redisplay="false"/>
此代码将消息发送到Growl组件,但也发送到messages组件,因为它没有for属性。我想知道我必须在messages组件中放入哪个属性,以便只显示表单的验证消息


如您所见,我将redisplay属性设置为false。我可以在p:messages的for属性中添加多个ID吗?

下面是一个示例,可以根据您的代码进行更改:

in.xhtml

<h:form prependId="false"> 
     <p:growl id="growl" for="msg" showDetail="true" sticky="true" />  
     <p:panel header="Growl">  
     <h:panelGrid columns="2" cellpadding="5">  
        <p:outputLabel for="msg"  value="Message:" />   
        <p:inputText id="msg"  value="#{growlView.message}" required="true" />
        <p:outputLabel for="msg2" value="Message2:" />
        <p:inputText id="msg2" value="#{growlView.message2}" required="true" />  
     </h:panelGrid>  
     <p:commandButton value="Save" actionListener="#{growlView.saveMessage}" update="growl" />  
     </p:panel> 
     <p:messages id="messages" for="msg2" showDetail="true" autoUpdate="true" closable="true" />
</h:form>

请发布你的代码。我已经更新了我的帖子
<h:form prependId="false"> 
     <p:growl id="growl" for="msg" showDetail="true" sticky="true" />  
     <p:panel header="Growl">  
     <h:panelGrid columns="2" cellpadding="5">  
        <p:outputLabel for="msg"  value="Message:" />   
        <p:inputText id="msg"  value="#{growlView.message}" required="true" />
        <p:outputLabel for="msg2" value="Message2:" />
        <p:inputText id="msg2" value="#{growlView.message2}" required="true" />  
     </h:panelGrid>  
     <p:commandButton value="Save" actionListener="#{growlView.saveMessage}" update="growl" />  
     </p:panel> 
     <p:messages id="messages" for="msg2" showDetail="true" autoUpdate="true" closable="true" />
</h:form>
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;

@ManagedBean
public class GrowlView {
    private String message;
    private String message2;

    // setters / getters

    public void saveMessage() {
        FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO, "summary", "details");
        FacesContext.getCurrentInstance().addMessage("msg", facesMsg);
    }
}