首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSF中以编程方式传递的几条消息

JSF中以编程方式传递的几条消息
EN

Stack Overflow用户
提问于 2013-12-28 22:39:14
回答 1查看 1.9K关注 0票数 1

我有两个地方可以在我的网站上留言。与备用div相关的消息和与主容器相关的消息。

我在同一页面中同时使用这两个h:消息(它的表单有prependId=false,没有id,因此消息id不附加于其他消息):

代码语言:javascript
复制
<h:messages id="container-messages" infoClass="info-message" warnClass="warn-message" errorClass="error-message" globalOnly="false" />

<h:messages id="aside-messages" infoClass="info-message" warnClass="warn-message" errorClass="error-message" globalOnly="false" />

然后,在我的Java代码中,我使用它来打印一些消息:

代码语言:javascript
复制
facesContext.addMessage("container-messages", new FacesMessage(FacesMessage.SEVERITY_INFO, "one message", null));

第一个问题是,这是可行的,但它打印的消息在两个,而不仅仅是在容器-消息。

后来,我用:

代码语言:javascript
复制
<h:message id="container-messages" infoClass="info-message" warnClass="warn-message" errorClass="error-message"/>

<h:message id="aside-messages" infoClass="info-message" warnClass="warn-message" errorClass="error-message" />

并试图:

代码语言:javascript
复制
<h:message for="container-messages" infoClass="info-message" warnClass="warn-message" errorClass="error-message"/>

<h:message for="aside-messages" infoClass="info-message" warnClass="warn-message" errorClass="error-message" />

但在这两种情况下,它都没有显示任何东西。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-29 00:21:51

h:messages用于所谓的全局消息,这些消息与特定组件无关,因此这里不允许使用for属性。

h:message用于与特定组件相关的消息,因此需要for属性,这意味着需要将组件绑定到

为了达到目标,您可以使用绑定到某个组件的两个h:message元素(例如,空h:grapicImage),方法如下:

代码语言:javascript
复制
    <h:graphicImage id="someID" />
    <h:message for="someID" id="container-messages" infoClass="info-message" 
         warnClass="warn-message" errorClass="error-message"/>
    <div>
         stuff
    </div>
    <h:message for="someID" id="aside-messages" infoClass="info-message" 
         warnClass="warn-message" errorClass="error-message" />

以您已经描述的方式添加消息:

代码语言:javascript
复制
    facesContext.addMessage("container-messages", new 
         FacesMessage(FacesMessage.SEVERITY_INFO, "message1", null));
    facesContext.addMessage("aside-messages", new 
         FacesMessage(FacesMessage.SEVERITY_INFO, "message2", null));

还请参见:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20820155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档