Problema navegação JSF!

Olá a todos.

Tenho a seguinte situação: em uma de minhas jsps, ao clicar nos botões (<h:commandButton>), a action não é executada, e a página acaba simplesmente sendo recarregada (como se o action method fosse executado e retornado null).
O agravante é que, mesmo nos botoes que estão com o valor da action hard-coded, a navegação não funciona, sendo essa jsp recarregada novamente…=/

O mbean é instanciado normalmente, e o faces-config está configurado corretamente, pois em outras páginas funciona normalmente.
Logo, tudo me leva a crer que é algum problema com a jsp.

Estou usando richfaces e tomahawk, além dos componentes nativos do jsf, e em nenhuma dessas bibliotecas obtive sucesso. Nem mesmo com um commandLink.

Alguém já passou por isso?

Se puderem ajudar!!

Valeu!

Cara, posta seu ManagedBean, jsp e FacesConfig aqui!
De preferência só as partes que interessam do managedBean e FacesConfig, senão fica muito grande!
A JSP se nao for muito grande põe inteira por favor.

Abraços!

Tá na mão:

faces-config:

	<navigation-rule>
		<from-view-id>*</from-view-id>
		<navigation-case>
			<from-outcome>shoppings</from-outcome>
			<to-view-id>/Shoppings.jsp</to-view-id>
			<redirect/>
		</navigation-case>
	</navigation-rule>
	
	<navigation-rule>
		<from-view-id>*</from-view-id>
		<navigation-case>
			<from-outcome>menu</from-outcome>
			<to-view-id>/Home.jsp</to-view-id>
			<redirect/>
		</navigation-case>
		<navigation-case>
			<from-outcome>menuAdmin</from-outcome>
			<to-view-id>/HomeAdmin.jsp</to-view-id>
			<redirect/>
		</navigation-case>
	</navigation-rule>

(…)

	<managed-bean>
		<managed-bean-name>shoppingHandler</managed-bean-name>
		<managed-bean-class>br.com.bronx.myproject.handler.ShoppingHandler</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
	</managed-bean>

ShoppingHandler:

	public String alteraShopping(){
		for (int i = 0; i<10; i++){
			System.out.println("Chamou o método alteraShopping()!!!! " + (i+1));
		}
		return "shoppings";
	}

e a jsp:

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich" %>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j" %>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<link rel="stylesheet" type="text/css" href="css/header.css">
	<link rel="stylesheet" type="text/css" href="css/style.css">
	<link rel="stylesheet" type="text/css" href="css/cadastro.css">
	<script type="text/javascript" src="js/alteraShopping.js"></script>
	<title>MyProject - Alteração de Dados do Shopping</title>
</head>
<body>
	<f:view>
		<jsp:include page="templ/header.jsp"/>
		<jsp:include page="templ/menuUsuario.jsp"/>
		<h:form id="alteraShopping" enctype="multipart/form-data" onsubmit="return validaForm();">
			<rich:panel id="alteracaoShopping" styleClass="main" headerClass="headerMain">
				<f:facet name="header">
					<h:outputText value="Alteração de Dados do Shopping"/>
				</f:facet>
				<t:div rendered="#{shoppingHandler.shopping != null}">
					<t:div id="linhaNome" styleClass="linha">
						<t:div styleClass="label">
							<h:outputLabel value="Nome:"/>
						</t:div>
						<h:inputText value="#{shoppingHandler.shoppingAlteracao.nome}" id="txtNome" maxlength="255" size="50" styleClass="cadastroField" required="true" requiredMessage="* Nome obrigatório.">
							<rich:toolTip followMouse="true" value="Nome atual: #{shoppingHandler.shopping.nome}"/>
						</h:inputText>
						<h:message for="txtNome" style="color:rgb(255,0,0);"/>
						<span id="spanNome" class="spanStyle">&nbsp</span><br/> 
					</t:div>
					<t:div id="linhaEndereco" styleClass="linha">
						<t:div styleClass="label">
							<h:outputLabel value="Endereço:"/>
						</t:div>
						<h:inputText value="#{shoppingHandler.shoppingAlteracao.rua}" id="txtEndereco" maxlength="255" size="50" styleClass="cadastroField" required="true" requiredMessage="* Endereço obrigatório.">
							<rich:toolTip followMouse="true" value="Endereço atual: #{shoppingHandler.shopping.rua}"/>
						</h:inputText>
						<h:message for="txtEndereco" style="color:rgb(255,0,0);"/>
						<span id="spanEndereco" class="spanStyle">&nbsp</span><br/>
					</t:div>
					<t:div id="linhaNumeroBairro" styleClass="linha">
						<t:div styleClass="label">
							<h:outputLabel value="Número:"/>
						</t:div>
						<h:inputText value="#{shoppingHandler.shoppingAlteracao.numero}" id="txtNumero" maxlength="30" size="10" styleClass="cadastroField" style="float:left;" required="true" requiredMessage="* Número obrigatório">
							<rich:toolTip followMouse="true" value="Número atual: #{shoppingHandler.shopping.numero}"/>
						</h:inputText>
						<t:div styleClass="label" style="width:43px;">
							<h:outputLabel value="Bairro:"/>
						</t:div>
						<h:inputText value="#{shoppingHandler.shoppingAlteracao.bairro}" id="txtBairro" maxlength="255" size="24" styleClass="cadastroField" required="true" requiredMessage="* Bairro obrigatório">
							<rich:toolTip followMouse="true" value="Bairro atual: #{shoppingHandler.shopping.bairro}"/>
						</h:inputText>
						<h:message for="txtNumero" style="color:rgb(255,0,0);"/>
						<h:message for="txtBairro" style="color:rgb(255,0,0);"/>
						<span id="spanNumeroBairro" class="spanStyle">&nbsp</span><br/>
					</t:div>
					<t:div id="linhaComplemento" styleClass="linha">
						<t:div styleClass="label">
							<h:outputLabel value="Complemento:"/>
						</t:div>
						<h:inputText value="#{shoppingHandler.shoppingAlteracao.complemento}" id="txtComplemento" maxlength="255" size="50" styleClass="cadastroField">
							<rich:toolTip followMouse="true" value="Complemento atual: #{shoppingHandler.shopping.complemento}"/>
						</h:inputText>
						<span class="spanStyle">&nbsp</span><br/>
					</t:div>
					<t:div id="linhaCidadeEstado" styleClass="linha">
						<t:div styleClass="label">
							<h:outputLabel value="Cidade:"/>
						</t:div>
						<h:inputText value="#{shoppingHandler.shoppingAlteracao.cidade}" id="txtCidade" maxlength="255" size="31" styleClass="cadastroField" style="float:left;" required="true" requiredMessage="* Cidade obrigatória">
							<rich:toolTip followMouse="true" value="Cidade atual: #{shoppingHandler.shopping.cidade}"/>
						</h:inputText>
						<t:div styleClass="label" style="width:43px;">
							<h:outputLabel value="Estado:"/>
						</t:div>
						<h:selectOneMenu value="#{shoppingHandler.shoppingAlteracao.estado}" id="comboEstado" styleClass="cadastroField" required="true" requiredMessage="* Estado obrigatório.">
							<f:selectItem id="void" itemValue="" />
							<f:selectItem id="Acre" itemLabel="AC" itemValue="AC"/>
							<f:selectItem id="Alagoas" itemLabel="AL" itemValue="AL"/>
							<f:selectItem id="Amapa" itemLabel="AP" itemValue="AP"/>
							<f:selectItem id="Amazonas" itemLabel="AM" itemValue="AM"/>
							<f:selectItem id="Bahia" itemLabel="BA" itemValue="BA"/>
							<f:selectItem id="Ceara" itemLabel="CE" itemValue="CE"/>
							<f:selectItem id="DistritoFederal" itemLabel="DF" itemValue="DF"/>
							<f:selectItem id="EspiritoSanto" itemLabel="ES" itemValue="ES"/>
							<f:selectItem id="Goias" itemLabel="GO" itemValue="GO"/>
							<f:selectItem id="Maranhao" itemLabel="MA" itemValue="MA"/>
							<f:selectItem id="MinasGerais" itemLabel="MG" itemValue="MG"/>
							<f:selectItem id="MatoGrossoDoSul" itemLabel="MS" itemValue="MS"/>
							<f:selectItem id="MatoGrosso" itemLabel="MT" itemValue="MT"/>
							<f:selectItem id="Para" itemLabel="PA" itemValue="PA"/>
							<f:selectItem id="Paraiba" itemLabel="PB" itemValue="PB"/>
							<f:selectItem id="Pernambuco" itemLabel="PE" itemValue="PE"/>
							<f:selectItem id="Piaui" itemLabel="PI" itemValue="PI"/>
							<f:selectItem id="Parana" itemLabel="PR" itemValue="PR"/>
							<f:selectItem id="RioDeJaneiro" itemLabel="RJ" itemValue="RJ"/>
							<f:selectItem id="RioGrandeDoNorte" itemLabel="RN" itemValue="RN"/>
							<f:selectItem id="Rondonia" itemLabel="RO" itemValue="RO"/>
							<f:selectItem id="Roraima" itemLabel="RR" itemValue="RR"/>
							<f:selectItem id="RioGrandeDoSul" itemLabel="RS" itemValue="RS"/>
							<f:selectItem id="SantaCatarina" itemLabel="SC" itemValue="SC"/>
							<f:selectItem id="Sergipe" itemLabel="SE" itemValue="SE"/>
							<f:selectItem id="SaoPaulo" itemLabel="SP" itemValue="SP"/>
							<f:selectItem id="Tocantins" itemLabel="TO" itemValue="TO"/>
						</h:selectOneMenu>
						<h:message for="txtCidade" style="color:rgb(255,0,0);"/>
						<h:message for="comboEstado" style="color:rgb(255,0,0);"/>
						<span id="spanCidadeEstado" class="spanStyle">&nbsp</span><br/>
					</t:div>
					<t:div id="linhaCEP" styleClass="linha">	
						<t:div styleClass="label">
							<h:outputLabel value="CEP:"/>
						</t:div>
						<h:inputText value="#{shoppingHandler.shoppingAlteracao.cep}" id="txtCEP" maxlength="9" size="50" styleClass="cadastroField" style="float:left;" required="true" requiredMessage="* CEP obrigatório.">
							<rich:toolTip followMouse="true" value="CEP atual: #{shoppingHandler.shopping.cep}"/>
						</h:inputText>
						<h:message for="txtCEP" style="color:rgb(255,0,0);"/>
						<span id="spanCEP" class="spanStyle">Ex. CEP: 06543-210</span><br/>
					</t:div>
					<t:div id="linhaSite" styleClass="linha">	
						<t:div styleClass="label">
							<h:outputLabel value="Site:"/>
						</t:div>
						<t:inputText value="#{shoppingHandler.shoppingAlteracao.site}" id="txtSite" maxlength="255" size="50" styleClass="cadastroField">
							<rich:toolTip followMouse="true" value="Site atual: #{shoppingHandler.shopping.site}"/>
						</t:inputText>
						<span class="spanStyle">&nbsp</span><br/>
					</t:div>
					<t:div styleClass="linha">
						<h:commandButton id="btnSalvar" action="#{shoppingHandler.alteraShopping}" style="margin-left:50px;" styleClass="radius" value="Salvar"/>
						<h:commandButton id="btnLimpar" style="margin-left:10px;" styleClass="radius" value="Limpar" onclick="limpa()"/>	
						<t:commandButton id="btnCancelar" style="margin-left:10px;" styleClass="radius" value="Cancelar" action="shoppings"/>
					</t:div>
					<br/><br/><br/><br/>
				</t:div>
				<h:messages id="mensagens" globalOnly="true" layout="table" style="color:rgb(0,0,255);" errorStyle="color:rgb(255,0,0);" showDetail="false"/>
				<t:div style="margin-top:10px;" rendered="#{shoppingHandler.shopping == null}">
					<h:outputText value="É necessário selecionar um shopping na "/>
					<a4j:commandLink action="shoppings" value="lista de shoppings!" onclick="cancela();"/>
				</t:div>
			</rich:panel>
		</h:form>
	</f:view>
</body>
</html>	

Nada? :frowning:

olha, eu não acho que essas 2 coisas dem problema, mais na falta de outra coisa…

se o jsp exibiu numa boa então reconheceu a configuração do managed-bean, ou o problema é na navegação, no navigation-rule, ou essa função que vc chama no onsubmit do formulario ta interferindo de alguma forma…

faz ai 2 testes, primeiro, testa apenas tirando essa função ai do onsubmit do formulario, de validação… segundo, caso assim continue não funcionando, coloca o nome do seu jsp no primeiro navigation-rule… testa ai

ver se um post simples como esse pode vc encontrar o seu problema.

jsf

abraco