Jsf 2 如果url参数出现,则呈现primefaces消息

Jsf 2 如果url参数出现,则呈现primefaces消息,jsf-2,primefaces,Jsf 2,Primefaces,我有下一个网址:http://host:port/page.xhtml?response=something 如果response==something,我希望呈现一个p:message 我有下一个代码: <h:panelGroup rendered="#{param.response == 'something'}"> <h:outputText value="message" /> </h:panelGroup>

我有下一个网址:
http://host:port/page.xhtml?response=something

如果response==something,我希望呈现一个p:message

我有下一个代码:

 <h:panelGroup rendered="#{param.response == 'something'}">
            <h:outputText value="message" /> 
       </h:panelGroup>

这将呈现一条
消息

如果response==something,我希望呈现一个
及其值“message”

请帮助我编写此代码和其他内容:

  • 我需要一个bean来管理向p:messages或p:growl发送值吗
  • 我需要从
    呼叫p:messages还是p:growl
  • 我不能使用
    ,因为h:body已打开 模板xhtml
    和我的视图 在
    上,您确实需要使用它向上下文添加消息。在最初的请求中,您的最佳选择是

    <f:metadata>
        <f:viewParam name="response" value="#{bean.response}"/>
        <f:event type="preRenderView" listener="#{bean.init}" />
    </f:metadata>
    
    顺便说一句,您还可以使用单独的
    仅显示客户端ID为
    null
    的faces消息

    另见:

    @BelusC这是呼叫豆,但没有显示!日志:facesmessage已排队,但可能尚未显示,您是否有时间看到它?您是否确实使用了回答中的
    ?这个问题表明您实际使用了bean的构造函数或
    @PostConstruct
    ,这可能确实太晚了。谢谢@BelusC!我忘记了您指示的put标记,它也应该显示为不带
    globalOnly=“true”
    。很明显,你在原来的问题中指定了一个
    ,尽管你在问题中只提到了
    ,这已经足够了
    private String response;
    
    public void init() {
        if (response != null) { 
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(
                FacesMessage.SEVERITY_INFO, response, null));
        }
    }