您好,我看了很多教程和帖子,但是y看不到問題。我有一個對話框,必須將數據保存到調用託管bean中的方法的數據庫中,但是當我調試該方法時不會觸發。我的網頁的代碼是:命令按鈕不會觸發動作 - Primefaces和JSF
<h:form>
<p:commandButton id="btnCreateCity" update=":formCreateCity" oncomplete="createCity.show()"
title="Crear nueva ciudad" value="Crear ciudad" icon="ui-icon-search"/>
</h:form>
<h:form id="formCreateCity">
<p:dialog header="Crear ciudad" widgetVar="createCity" id="dlgCreateCity"
resizable="false" modal="true" showEffect="fade" hideEffect="explode">
<!-- Alta de ciudades -->
<f:facet name="header">
<h:outputLabel value="Agregar nueva ciudad"/>
</f:facet>
<p>
<h:outputLabel for="city" value="Nombre de la ciudad:"/>
<p:inputText id="city" value="#{locationController.cityName}"/>
<p:message for="city"/>
</p>
<p>
<h:outputLabel for="postCode" value="Código Postal:"/>
<p:inputText id="postCode" value="#{locationController.postCode}"/>
<p:message for="postCode"/>
</p>
<p>
<p:selectOneMenu id="countries" value="#{locationController.selectedCountry}" required="true">
<f:selectItem itemLabel="Seleccionar uno" itemValue="" />
<f:selectItems value="#{locationController.countries}"
var="country"
itemLabel="#{country.name}"
itemValue="#{country.idCountry}"/>
</p:selectOneMenu>
</p>
<f:facet name="footer">
<p:commandButton value="Aceptar"
actionListener="#{locationController.saveCity}"
oncomplete="createCity.hide()"
icon="ui-icon-save">
<p:ajax update=":mainForm"/>
</p:commandButton>
<p:commandButton value="Cancelar" oncomplete="createCity.hide()"
icon="ui-icon-cancel"/>
</f:facet>
</p:dialog>
</h:form>
而且我的方法在管理bean是:
public void saveCity(){
cityService = new CityServiceImpl();
boolean saved = cityService.save(cityName, postCode, selectedCountry);
if(saved){
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage("mainForm", new FacesMessage(
FacesMessage.SEVERITY_INFO, "Operación realizada",
"Se guardó la ciudad"));
}else{
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage("mainForm", new FacesMessage(
FacesMessage.SEVERITY_INFO, "Operación no realizada",
"No se pudo guardar la ciudad"));
}
}
我試圖把javax.faces.event.ActionEvent的方法和nthing的參數。 你能幫我嗎?
你不需要添加一個'號碼:上的commandButton ajax',而不是,你可以使用'update'屬性。 – Cold