a4j:commandButton não executa a action

2 respostas
Diego.G.A
Galera o meu comand button não esta executando a minha action, alguém pode me ajudar com esse problema? Pagina
<?xml version="1.0" encoding="ISO-8859-1"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:a4j="http://richfaces.org/a4j">

	<h:form id="formCad">
		<rich:popupPanel id="panelCadastro" width="500" show="#{ptmBean.show}">
			<f:facet name="header">
				<h:panelGroup>
					<h:outputText value="Cadastro de Parametros" />
				</h:panelGroup>
			</f:facet>
			<rich:panel>
				<h:inputHidden id="inputGrp"
					value="#{ptmBean.paramPrtal.idGrpParamPrtal}"
					rendered="#{ptmBean.paramPrtal.idParamPrtal ne null and ptmBean.paramPrtal.idParamPrtal ne 0}" />
				<h:panelGrid columns="2">
					<h:outputLabel for="dsParam" value="#{msg['grupo.label']}"
						rendered="#{ptmBean.paramPrtal.idParamPrtal eq null or ptmBean.paramPrtal.idParamPrtal eq 0}" />
					<h:selectOneMenu id="selectGrp"
						value="#{ptmBean.paramPrtal.idGrpParamPrtal}"
						label="#{msg['grupo.label']}"
						rendered="#{ptmBean.paramPrtal.idParamPrtal eq null or ptmBean.paramPrtal.idParamPrtal eq 0}">
						<f:selectItems var="row" value="#{ptmBean.grupos}"
							itemValue="#{row.idGrpParamPrtal}" itemLabel="#{row.dsGrpParam}" />
					</h:selectOneMenu>

					<h:outputText value="#{msg['parametro.ds.label']}" />
					<h:inputText id="dsParam" style="width: 200px"
						label="#{msg['parametro.ds.label']}"
						value="#{ptmBean.paramPrtal.dsParamPrtal}" />

					<h:outputText value="#{msg['parametro.vl.label']}" />
					<h:inputText id="vlParam" style="width: 300px"
						label="#{msg['parametro.vl.label']}"
						value="#{ptmBean.paramPrtal.vlParamPrtal}" />

					<a4j:commandButton value="#{msg['button.confirm.label']}"
						action="#{ptmBean.salvarParametro}"
						render="@form, formLista"
						execute="@form"
						oncomplete="#{rich:component('panelCadastro')}.hide();" />

					<a4j:commandLink value="#{msg['button.cancel.label']}"
						action="#{ptmBean.init}"
						onclick="#{rich:component('panelCadastro')}.hide();">

					</a4j:commandLink>
				</h:panelGrid>
			</rich:panel>
		</rich:popupPanel>
	</h:form>

</ui:composition>
Classe
// ...

@ViewScoped
@ManagedBean(name="ptmBean")
public class PtmBean extends BaseBean {

	//...

	public void salvarParametro() {
		paramPrtal.setDtUltmaAlter(new Date());
		paramPrtal.setCdUsuroUltmaAlter("1");
		if(ptmService.salvarParametro(paramPrtal)) {
			buscaParametros();
		} else {
			ptmService.getMensagem().getException().printStackTrace();
			setMensagem(getBundleMessage("error.salvar.parametro"), FacesMessage.SEVERITY_ERROR);
		}
		grpParamPrtal.setIdGrpParamPrtal(paramPrtal.getIdGrpParamPrtal());
		show = false;
	}
	
	//...	
}

2 Respostas

G

Não deve ser por isso, mas no commandButton tem “render” e penso que quer dizer reRender.

S

Pelo jeito essa página está sendo injetada em outra…
Da uma olhada se o no local que está sendo injetada, já existe outro form.

Tipo:

<h:form>
  ..
  <ui:include src="popupPanel.xhtml" />
  ..
</h:form>
Criado 19 de fevereiro de 2013
Ultima resposta 20 de fev. de 2013
Respostas 2
Participantes 3