a4j:commandbuton não funciona

1 resposta
C

Alá pessoal meu botão incluir ( a4j:commandbuton ) não executa a action, acho que é algum atributo no commandbuton que esta faltando, alguém poderia me ajudar?

//Meu form é um <a4j:form ajaxSubmit="true"> e está no template, que posteriormente chama esta página.



<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">
	<a4j:region>
	<h:panelGrid id="panel_dados_pessoais_pf" columns="4"
		style="letter-spacing:in;text-align:left;bottom:auto;">

		<h:outputText styleClass="rotulo" value="Username*" />
		<rich:message id="msg_username_pf1" for="txt_username_pf"
			showDetail="false" showSummary="false">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText required="true" requiredMessage="#{msg.erro_required}"
			id="txt_username_pf" styleClass="input_text"
			value="#{MBusuarios.usuarios.username}">
			<f:validator validatorId="validator.validatorUsername" />
			<a4j:support event="onchange"
				reRender="msg_username_pf1,msg_username_pf2" limitToList="true" />
		</h:inputText>
		<rich:message id="msg_username_pf2" for="txt_username_pf" />

		<h:panelGroup>
			<label for="senha_pf"> <h:outputText styleClass="rotulo"
				value="Senha*" /> </label>
		</h:panelGroup>
		<rich:message id="msg_senha_pf1" for="senha_pf" showDetail="false"
			showSummary="false">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:panelGroup id="grupo_senha">
			<a4j:outputPanel ajaxRendered="true"
				rendered="#{rich:findComponent('senha_pf').value != ''}">
				<div class="password-meter">
				<div class="password-meter-message"></div>
				<div class="password-meter-bg">
				<div class="password-meter-bar"></div>
				</div>
				</div>
			</a4j:outputPanel>
			<rich:spacer height="5px" />

			<h:inputSecret size="6" required="true"
				validator="#{MBusuarios.validateSenha}"
				requiredMessage="#{msg.erro_required}"
				value="#{MBusuarios.usuarios.senha}" class="password"
				name="password" id="senha_pf">
				<a4j:support event="onchange" reRender="msg_senha_pf1,msg_senha_pf2"
					limitToList="true" />
			</h:inputSecret>
		</h:panelGroup>
		<rich:message id="msg_senha_pf2" for="senha_pf" />


		<h:outputText styleClass="rotulo" value="Repita a Senha*" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_repitaSenha_pf1" for="txt_repitaSenha_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputSecret value="#{MBusuarios.usuarios.repitaSenha}"
			validator="#{MBusuarios.validateRepitaSenha}" size="6"
			id="txt_repitaSenha_pf" class="password-repeat" required="true"
			requiredMessage="#{msg.erro_required}">
			<a4j:support ajaxSingle="true" event="onchange"
				reRender="msg_repitaSenha_pf1,msg_repitaSenha_pf2"
				limitToList="true" />
		</h:inputSecret>

		<rich:message id="msg_repitaSenha_pf2" for="txt_repitaSenha_pf" />


		<h:outputText value="Nome*" styleClass="rotulo" />
		<rich:message showDetail="false" showSummary="false" id="msg_nome_pf1"
			for="txt_nome_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText styleClass="input_text" id="txt_nome_pf"
			value="#{MBusuarios.usuarios.cpf.nome}" required="true"
			requiredMessage="#{msg.erro_required}" size="30">
			<rich:ajaxValidator event="onblur" limitToList="true" />
		</h:inputText>
		<rich:message id="msg_nome_pf2" for="txt_nome_pf" />


		<h:outputText styleClass="rotulo" value="Identidade" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_identidade_pf1" for="txt_identidade_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText styleClass="input_text" id="txt_identidade_pf"
			value="#{MBusuarios.usuarios.cpf.identidade}" />
		<rich:message id="msg_identidade_pf2" for="txt_identidade_pf" />


		<h:outputText styleClass="rotulo" value="CPF" />
		<rich:message showDetail="false" showSummary="false" id="msg_cpf_pf1"
			for="txt_cpf_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText required="true" requiredMessage="#{msg.erro_required}"
			styleClass="input_text" id="txt_cpf_pf"
			value="#{MBusuarios.usuarios.cpf.cpf}">
			<f:validator validatorId="validator.validatorCpf" />
			<rich:ajaxValidator event="onblur" limitToList="true" />
			<a4j:support event="onchange" reRender="msg_cpf_pf1,msg_cpf_pf2"
				limitToList="true" />
		</h:inputText>
		<rich:message id="msg_cpf_pf2" for="txt_cpf_pf" />


		<h:outputText styleClass="rotulo" value="Estado*" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_estado_pf1" for="txt_estado_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<rich:comboBox id="txt_estado_pf"
			value="#{MBusuarios.usuarios.cpf.estados.dscEstado}"
			valueChangeListener="#{MBusuarios.processarComboEstadoPF}"
			required="true" requiredMessage="#{msg.erro_required}"
			defaultLabel="Escolha o estado" enableManualInput="false">
			<f:selectItems value="#{MBusuarios.estadoSelectItens}" />
			<a4j:support event="onchange"
				reRender="txt_cidade_pf,msg_estado_pf1,msg_estado_pf2"
				limitToList="true" ajaxSingle="true" />
		</rich:comboBox>
		<rich:message id="msg_estado_pf2" for="txt_estado_pf" />

		<h:outputText id="label" value="Cidade" styleClass="rotulo" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_cidade_pf1" for="txt_cidade_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		
		<rich:comboBox  enableManualInput="false" id="txt_cidade_pf" value="#{MBusuarios.usuarios.cpf.cidades.dscCidade}" required="true"
			requiredMessage="#{msg.erro_required}"
			defaultLabel="Escolha a cidade" selectFirstOnUpdate="true"
			inputClass="input_text" validator="#{MBusuarios.validateCidade}">
			<f:selectItems value="#{MBusuarios.cidadesPFSelectItens}" />
			<a4j:support event="onchange"
				reRender="txt_cidade_pf,msg_cidade_pf1,msg_cidade_pf2"
				limitToList="true" ajaxSingle="true" />
		</rich:comboBox>
		<rich:message id="msg_cidade_pf2" for="txt_cidade_pf" />

		<h:outputText styleClass="rotulo" value="Logradouro*" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_logradouro_pf1" for="txt_logradouro_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText styleClass="input_text" id="txt_logradouro_pf"
			required="true" requiredMessage="#{msg.erro_required}"
			value="#{MBusuarios.usuarios.cpf.logradouro}" size="30">
			<a4j:support event="onchange"
				reRender="msg_logradouro_pf1,msg_logradouro_pf2" limitToList="true" />
		</h:inputText>
		<rich:message id="msg_logradouro_pf2" for="txt_logradouro_pf" />

		<h:outputText styleClass="rotulo" value="Numero*" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_numero_pf1" for="txt_numero_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText styleClass="input_text" required="true"
			requiredMessage="#{msg.erro_required}" id="txt_numero_pf"
			value="#{MBusuarios.usuarios.cpf.numero}" size="10">
			<a4j:support event="onchange"
				reRender="msg_numero_pf1,msg_numero_pf2" limitToList="true" />
		</h:inputText>
		<rich:message id="msg_numero_pf2" for="txt_numero_pf" />

		<h:outputText styleClass="rotulo" value="Bairro*" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_bairro_pf1" for="txt_bairro_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText styleClass="input_text" required="true"
			requiredMessage="#{msg.erro_required}" id="txt_bairro_pf"
			value="#{MBusuarios.usuarios.cpf.bairro}">
			<a4j:support event="onchange"
				reRender="msg_bairro_pf1,msg_bairro_pf2" limitToList="true" />
		</h:inputText>
		<rich:message id="msg_bairro_pf2" for="txt_bairro_pf" />


		<h:outputText styleClass="rotulo" value="Sexo*" />
		<rich:message showDetail="false" showSummary="false" id="msg_sexo_pf1"
			for="txt_sexo_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<rich:comboBox enableManualInput="false" required="true"
			requiredMessage="#{msg.erro_required}" id="txt_sexo_pf"
			value="#{MBusuarios.usuarios.cpf.sexo}"
			valueChangeListener="#{MBusuarios.processarComboSexo}"
			defaultLabel="Escolha o sexo">
			<f:selectItems value="#{MBusuarios.sexoSelectItens}" />
			<a4j:support event="onchange" reRender="msg_sexo_pf1,msg_sexo_pf2"
				limitToList="true" />
		</rich:comboBox>
		<rich:message id="msg_sexo_pf2" for="txt_sexo_pf" />


		<h:outputText styleClass="rotulo" value="Data Nascimento*" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_data_nascimento_pf1" for="txt_data_nascimento_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<rich:calendar  id="txt_data_nascimento_pf"
			value="#{MBusuarios.usuarios.cpf.dataNascimento}"
			datePattern="dd/MM/yyyy">
			<f:validator validatorId="validator.validatorDataNascimento" />
			<rich:ajaxValidator event="onchanged" limitToList="true" />
			
		</rich:calendar>
		<rich:message id="msg_data_nascimento_pf2"
			for="txt_data_nascimento_pf" />

		<h:outputText styleClass="rotulo" value="Pais*" />
		<rich:message showDetail="false" showSummary="false" id="msg_pais_pf1"
			for="txt_pais_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText styleClass="input_text" required="true"
			requiredMessage="#{msg.erro_required}" id="txt_pais_pf"
			value="#{MBusuarios.usuarios.cpf.pais}">
			<a4j:support event="onchange" reRender="msg_pais_pf1,msg_pais_pf2"
				limitToList="true" />
		</h:inputText>
		<rich:message id="msg_pais_pf2" for="txt_pais_pf" />


		<h:outputText styleClass="rotulo" value="CEP*" />
		<rich:message showDetail="false" showSummary="false" id="msg_cep_pf1"
			for="txt_cep_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText styleClass="input_text" required="true"
			requiredMessage="#{msg.erro_required}" id="txt_cep_pf"
			value="#{MBusuarios.usuarios.cpf.cep}">
			<a4j:support event="onchange" reRender="msg_cep_pf1,msg_cep_pf2"
				limitToList="true" />
		</h:inputText>
		<rich:message id="msg_cep_pf2" for="txt_cep_pf" />

		<h:outputText styleClass="rotulo" value="Telefone 1" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_telefone1_pf1" for="txt_telefone1_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText styleClass="input_text" id="txt_telefone1_pf"
			value="#{MBusuarios.usuarios.cpf.telefone1}" size="15">
			<f:validator validatorId="validator.validatorTelefone" />
			<rich:ajaxValidator reRender="msg_telefone1_pf1,msg_telefone1_pf2"
				event="onblur" limitToList="true" />
		</h:inputText>
		<rich:message id="msg_telefone1_pf2" for="txt_telefone1_pf" />

		<h:outputText styleClass="rotulo" value="Telefone 2" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_telefone2_pf1" for="txt_telefone2_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText styleClass="input_text" id="txt_telefone2_pf"
			value="#{MBusuarios.usuarios.cpf.telefone2}" size="15">
			<f:validator validatorId="validator.validatorTelefone" />
			<rich:ajaxValidator reRender="msg_telefone2_pf1,msg_telefone2_pf2"
				event="onblur" limitToList="true" />
		</h:inputText>
		<rich:message id="msg_telefone2_pf2" for="txt_telefone2_pf" />

		<h:outputText styleClass="rotulo" value="Celular" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_celular_pf1" for="txt_celular_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText styleClass="input_text" id="txt_celular_pf"
			value="#{MBusuarios.usuarios.cpf.celular}" size="15">
			<f:validator validatorId="validator.validatorTelefone" />
			<rich:ajaxValidator reRender="msg_celular_pf1,msg_celular_pf2"
				event="onblur" limitToList="true" />
		</h:inputText>
		<rich:message id="msg_celular_pf2" for="txt_celular_pf" />

		<h:outputText styleClass="rotulo" value="E-mail" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_email_pf1" for="txt_email">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText styleClass="input_text" id="txt_email"
			value="#{MBusuarios.usuarios.cpf.EMail}" size="30">
			<f:validator validatorId="validator.validatorEmail" />
			<rich:ajaxValidator event="onblur" limitToList="true" />
		</h:inputText>
		<rich:message id="msg_email_pf2" for="txt_email" />


		<h:outputText styleClass="rotulo" value="Home Page" />
		<rich:message showDetail="false" showSummary="false"
			id="msg_home_page_pf1" for="txt_home_page_pf">
			<a4j:facet name="errorMarker">
				<h:graphicImage value="/imagens/icones/erro.png" width="20"
					height="20" />
			</a4j:facet>
			<f:facet name="infoMarker">
				<h:graphicImage style="" value="/imagens/icones/ok.png" height="20"
					width="20" />
			</f:facet>
		</rich:message>
		<h:inputText size="30" styleClass="input_text" id="txt_home_page_pf"
			value="#{MBusuarios.usuarios.cpf.homePage}" />
		<rich:message id="msg_home_page_pf2" for="txt_home_page_pf" />

	</h:panelGrid>
	<rich:spacer height="10px" />
	<h:panelGrid columns="2">

		<a4j:commandButton id="butao" action="#{MBusuarios.incluir_pf}"
			value="Salvar" >
		</a4j:commandButton>
		<a4j:commandButton action="#{MBusuarios.reset}"
			value="Apagar" type="reset">
		</a4j:commandButton>

	</h:panelGrid>
	</a4j:region>
	<rich:jQuery selector="#senha_pf" query="valid()" timing="onload" />
	<rich:jQuery selector="#txt_cep_pf" query="setMask('cep')"
		timing="onload" />
	<rich:jQuery selector="#txt_telefone1_pf" query="setMask('phone')"
		timing="onload" />
	<rich:jQuery selector="#txt_telefone2_pf" query="setMask('phone')"
		timing="onload" />
	<rich:jQuery selector="#txt_celular_pf" query="setMask('phone')"
		timing="onload" />
	<rich:jQuery selector="#txt_cpf_pf" query="setMask('cpf')"
		timing="onload" />
	<rich:jQuery selector="#txt_cep_pj" query="setMask('cep')"
		timing="onload" />
</ui:composition>

O interessante é que estava funcionando, mais devo ter adicionado algum atributo em algum componente que não deixa o commandbuiton executar a action.

1 Resposta

surfzera

seu botao a4j:commandButton está dentro de um a4j:form ???

Criado 30 de maio de 2010
Ultima resposta 30 de mai. de 2010
Respostas 1
Participantes 2