Java 如何拥有多个<;h:消息>;在xhtml页面上,显示不同的内容

Java 如何拥有多个<;h:消息>;在xhtml页面上,显示不同的内容,java,ajax,validation,jsf,message,Java,Ajax,Validation,Jsf,Message,如何让多个标签显示页面中的不同内容 我正在验证一个inputtext,如下所示: Title: <h:inputText id="input" value="#{insertDocController.docController.documentBean.title}" required="true" requiredMessage="Required!"> <f:ajax execute="@this"

如何让多个
标签显示页面中的不同内容

我正在验证一个
inputtext
,如下所示:

Title: <h:inputText id="input"
            value="#{insertDocController.docController.documentBean.title}"
            required="true" requiredMessage="Required!">
            <f:ajax  execute="@this" render="message" event="blur" />
            </h:inputText>         
            <h:message for="input" id="message" style="color:red" />
当我测试它时,将
inputtext
留空,然后单击
submit按钮
,页面在标题
inputtext
旁边显示一条红色消息,在提交按钮旁边显示一条黑色消息,但两条消息显示的内容相同:“必需!”

在这个链接上:他们讨论了一个类似的问题,但是来自primefaces的
。他们说解决方案是将属性
重新显示
设置为true<代码>
没有此属性。
中的重新显示是否有类似的属性

解决这个问题的办法是什么


谢谢大家!

您需要将
globalOnly=“true”
添加到
h:messages中

<h:messages id="submitMessage" globalOnly="true" />

谢谢你的回答。。。我对它进行了测试,但现在它只显示了所需inputtext的验证消息,在我单击submit按钮后,它没有显示确认消息。我发现了链接:该链接讨论了相同的问题,但与。他们谈论使用一个名为redisplay from的属性,但没有。有没有类似的属性好让我直截了当,你应该填写inputText,提交然后你会有成功的消息。如果inputText为空,则表示存在validationError,并且生命周期不会继续调用submit方法。这是预期的bihavour@Luciane事实上,我现在编辑了我的帖子,因为我忘了写inputtext所需消息的事件是模糊的。如果我没有填写输入文本,单击它,然后退出,消息会正常显示。但是,在我单击submit按钮后,另一条消息应该会显示出来,这是一个确认消息,它不会显示。当我只有submit消息时,它正在工作,在我为inputtext添加了所需的消息后,它就停止正常工作了。您可能需要更好地了解JSF生命周期。如果页面中的任何组件未通过验证阶段(这是必填字段,为空时验证失败),则不会调用SUBMIT方法,因此不会将消息添加到上下文中@卢西恩
public void submit() throws IOException {   
        String fileName = FilenameUtils.getName(uploadedFile.getName());
        String contentType = uploadedFile.getContentType();
        byte[] bytes = uploadedFile.getBytes();

        FacesContext.getCurrentInstance().addMessage("submitMessage", 
            new FacesMessage(String.format("File '%s' type '%s' successfully " +
                    "submitted!", fileName, contentType)));

        this.docController.submit();
}
<h:messages id="submitMessage" globalOnly="true" />
FacesContext.getCurrentInstance().addMessage(null, 
        new FacesMessage(String.format("File '%s' type '%s' successfully " +
                "submitted!", fileName, contentType)));