我正在使用以下代碼來編輯記錄的值。代碼工作正常。如何在完成數據庫更新後在jsf頁面顯示消息
<rich:popupPanel header="Edit Company Region" id="editCompanyRegionPane"
domElementAttachment="parent" width="230" height="115">
<h:form>
<h:panelGrid columns="3" id="editCompanyRegionGrid">
<h:inputHidden value="#{CompanyAdminPageModel.editCompanyRegion.companyRegionId}"
id="editcompanyRegionId">
</h:inputHidden>
<h:message for="editcompanyRegionId" />
<h:column>
<h:outputText value="Name " />
<h:inputText value="#{CompanyAdminPageModel.editCompanyRegion.name}"
id="editCompanyRegionName">
</h:inputText>
<h:message for="editCompanyRegionName" />
</h:column>
</h:panelGrid>
<h:commandButton value="Update"
action="#{CompanyAdminPageModel.companyRegionUpdate}" render="table"
oncomplete="if (#{facesContext.maximumSeverity==null}) {#{rich:component('editCompanyRegionPane')}.hide();}" />
<h:commandButton value="Cancel"
onclick="#{rich:component('editCompanyRegionPane')}.hide(); return false;" />
</h:form>
</rich:popupPanel>
我想在更新數據庫中的值後在同一頁中顯示一條消息。例如:當我點擊更新按鈕時,它將調用Bean類的方法,然後更新數據庫中的值,關閉彈出面板後,它將在同一頁面內顯示一條消息(如:更新成功)。
請任何幫助。
我用follwoing Java代碼:
public String updateUser(Long usrId, String firstName, String lastName,
String loginName, String emailAddr) {
AllCompanyDAO aDAO = new AllCompanyDAO();
FacesContext.getCurrentInstance().addMessage("test", new javax.faces.application.FacesMessage("Success"));
return aDAO.userUpdate(usrId, firstName, lastName, loginName, emailAddr);
}
和以下JSF代碼:
<div class="content container">
<div style="padding-left:220px;">
To see the relationships between users and regions <a href="#{appPath}/app/insertion/userRegionInfo.faces" >click here</a> <br/>
<h:message for="test"></h:message>
</div>
</div>
您可以使用'FacesContext.getCurrentInstance()。addMessage(clientId,new FacesMessage(「Success」));'將消息放入FacesContext。只需要一個'h:message'來顯示消息。參見[FacesContext api](http://docs.oracle.com/javaee/7/api/javax/faces/context/FacesContext.html#addMessage%28java.lang.String,%20javax.faces.application.FacesMessage%29 ) –
你能告訴我,我在哪裏以及如何在我的代碼中使用它? – Novis
只需將它放在更新偵聽器方法的末尾即可。如果更新成功,請將消息添加到FacesContext。該消息應該顯示你曾經擁有'h:message'的地方 –