我的页面上有一个命令按钮。
<h:commandButton id="makeSearch" value="#{msg.makeWycena}">
<f:ajax event="click" render="@all" listener="#{searchBean.makeSearch()}"/>
</h:commandButton>
makeSearch()
方法首先检查数据库中的值,如果这个值是null
它执行一些逻辑。但是当值不是时null
,我想显示一条错误消息。
出于这个原因,我考虑制作<h:outputtext rendered = {not null XXX}/>
和制作特殊变量 XXX,但我很确定它可以用简单的<h:message />
形式完成,但找不到方法。
我的代码如下所示:
else {
FacesContext fc = FacesContext.getCurrentInstance();
fc.addMessage(null , new FacesMessage("XXXXXXXX"));
return null;
}
我希望消息 XXXXXXXXX 显示在:
<h:message for="makeSearch" globalOnly="true" style="color:red;margin:8px;"/>
在我之前发布的命令按钮旁边。现在它呈现在页面底部
经过几次更改后,我的代码现在看起来像这样:
<h:form id="detailsForm" prependId="false">
<h:commandButton id="makeSearch" value="#{msg.makeWycena}">
<f:ajax event="click" render="@all" listener="#{searchBean.makeSearch()}"/>
</h:commandButton>
<h:message for="makeSearch" id ="makeSearchError" style="color:red;margin:6px;left-margin:10px;"/>
和豆代码:
else {FacesContext.getCurrentInstance().addMessage("detailsForm:makeSearchError" ,
new FacesMessage("XXXXXXXXXXXX")); }
但仍然。消息不在 h:message 中呈现。我也试过 detailForm:makeSeach 也没有帮助