Galera, estou com um probleminha no p:commandButton do primefaces… Ele não chama o actionListener! Meu problema está no botão gravar
Poderiam me ajudar por favor?
Tenho o seguinte código:
index.xhtml
<p:growl id="mensagem" showDetail="true" />
<p:gmap id="mapa" center="-15.565986,-54.309782" zoom="15" model="#{localBean.locais}" onPointClick="dlgLocal.show()" type="HYBRID" style="width:600px;height:400px">
<p:ajax event="pointSelect" listener="#{localBean.novo}" update="formLocal" />
</p:gmap>
<p:dialog widgetVar="dlgLocal" width="380" height="100">
<h:form id="formLocal">
<p:focus for="desc" />
<h:panelGrid columns="2" style="width: 100%">
<h:outputLabel for="desc" value="Descrição:" />
<p:inputText id="desc" value="#{localBean.local.descricao}" />
</h:panelGrid>
<p:toolbar>
<p:toolbarGroup align="right">
<p:commandButton ajax="false" value="Gravar" actionListener="#{localBean.gravar}" oncomplete="dlgLocal.hide()" update=":mapa" immediate="true"></p:commandButton>
</p:toolbarGroup>
</p:toolbar>
</h:form>
</p:dialog>
LocalBean.java
public void novo(PointSelectEvent event) {
local = new Local();
LatLng coord = event.getLatLng();
local.setLatitude(coord.getLat());
local.setLongitude(coord.getLng());
}
public void gravar() {
localDao.gravar(local);
}
LocalDao.java
public void gravar(Local local) {
BasicDBObject doc = new BasicDBObject().
append("descricao", (String)local.getDescricao()).
append("latitude", local.getLatitude()).
append("longitude", local.getLongitude());
db.insert(doc);
}
