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));
}
}