Gente, estou aprendendo JSF (estou usando jsf + richfaces) e to com um problema num command button que eu coloquei em um formulario
quando eu clico no botao para executar a acao ele simplesmente nem entra no metodo que deveria … o bean jah esta mapeado corretamente porque, no forumalario existem 3 combos que estao sendo preenchidos com metodos do bean
vou colocar os codigos aqui, quem sabe alguem possa me ajudar:
JSP
<%--
Document : novoPlanejamento
Created on : 03/10/2008, 15:26:55
Author : bernardo
--%>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@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/a4j" prefix="a4j"%>
<%@taglib uri="http://richfaces.org/rich" prefix="rich"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Novo Planejamento</title>
<link href="/sdp/css/default.css" type="text/css" rel="stylesheet" />
</head>
<body>
<f:view>
<%@ include file="../menu.jsp"%>
<h:form id="novoPlanejamentoForm">
<rich:panel>
<f:facet name="header">
<h:outputText value="Novo Planejamento Mensal" />
</f:facet>
<h:panelGrid columns="2" cellpadding="2" cellspacing="2" >
<h:outputText styleClass="formFonte1" value="Mês: " />
<rich:inplaceSelect id="mesPlanejamento" required="true"
value="#{NovoPlanejamentoMB.mesPlanejamento}"
defaultLabel="Clique aqui e selecione">
<f:selectItems value="#{NovoPlanejamentoMB.listaMeses}" />
</rich:inplaceSelect>
<h:outputText styleClass="formFonte1" value="Ano: " />
<rich:inplaceSelect id="anoPlanejamento" required="true"
value="#{NovoPlanejamentoMB.anoPlanejamento}"
defaultLabel="Clique aqui e selecione">
<f:selectItems value="#{NovoPlanejamentoMB.listaAnos}" />
</rich:inplaceSelect>
<h:outputText styleClass="formFonte1" value="Setor: " />
<rich:inplaceSelect id="setorPlanejamento" required="true"
value="#{NovoPlanejamentoMB.setorPlanejamento}"
defaultLabel="Clique aqui e selecione"
listWidth="450">
<f:selectItems value="#{NovoPlanejamentoMB.listaSetores}" />
</rich:inplaceSelect>
</h:panelGrid>
<rich:spacer height="20" />
<h:commandButton value="Salvar" action="#{NovoPlanejamentoMB.cadastrarPlanejamento}" />
</rich:panel>
</h:form>
<%@ include file="../rodape.jsp"%>
</f:view>
</body>
</html>
BEAN
/**
*
* @author bernardo
*/
public class NovoPlanejamentoMB extends GenericMB {
private Logger logger = Logger.getLogger(NovoPlanejamentoMB.class);
private PlanejamentoService planejamentoService;
private Planejamento planejamento;
private SetorDiariaService setorDiariaService;
private SetorDiaria setorDiaria;
//Variáveis do formulário
private Long mesPlanejamento;
private Long anoPlanejamento;
private Long setorPlanejamento;
public String carregarPagina() {
try {
popularComboMes();
popularComboAno();
popularComboSetor();
} catch (DAOException ex) {
logger.error(ex);
ex.printStackTrace();
}
return "CRIA_PLANEJAMENTO";
}
// Método para cadastrar planejamento
public String cadastrarPlanejamento() {
logger.info("TESTE");
try {
planejamentoService = new PlanejamentoService();
planejamento = new Planejamento();
setorDiariaService = new SetorDiariaService();
setorDiaria = setorDiariaService.retornarSetorDiaria(SetorDiaria.class, setorPlanejamento);
planejamento.setNumMesPlanejamentoPla(mesPlanejamento);
planejamento.setNumAnoPlanejamentoPla(anoPlanejamento);
planejamento.setDscPeriodoPlanejamentoPla(mesPlanejamento + "/" + anoPlanejamento);
planejamento.setDatCriacaoPlanejamentoPla(Calendar.getInstance().getTime());
planejamento.setFkSeqSetorDiariaSdi(setorDiaria);
planejamentoService.criarPlanejamento(planejamento);
JSFHelper.addGlobalMessage("Planejamento cadastrado com sucesso");
return "SUCESSO";
} catch (Exception ex) {
logger.error(ex);
ex.printStackTrace();
JSFHelper.addGlobalMessage(ex.getMessage());
return "ERRO";
}
}
// Método para atualizar planejamento
public String atualizarPlanejamento() {
planejamentoService = new PlanejamentoService();
planejamento = new Planejamento();
try {
planejamentoService.atualizarPlanejamento(planejamento);
JSFHelper.addGlobalMessage("Planejamento atualizado com sucesso");
return "SUCESSO";
} catch (Exception ex) {
logger.error(ex);
ex.printStackTrace();
JSFHelper.addGlobalMessage(ex.getMessage());
return "ERRO";
}
}
// Método para excluir planejamento
public String excluirImovel() {
planejamentoService = new PlanejamentoService();
planejamento = new Planejamento();
try {
planejamentoService.excluirPlanejamento(planejamento);
JSFHelper.addGlobalMessage("Planejamento excluído com sucesso");
planejamento = new Planejamento();
return "SUCESSO";
} catch (Exception ex) {
planejamento = new Planejamento();
logger.error(ex);
ex.printStackTrace();
JSFHelper.addGlobalMessage(ex.getMessage());
return "ERRO";
}
}
//GETS E SETS AQUI
}
o programa nao chega nem a entrar no metodo, quando eu clico no botao ele simplesmente recarrega a pagina … no logger da aplicacao ele esta simplesmente executando o filtro que eu coloquei quando ele entra em alguma pagina … alguem jah passou por isso?
[]'s
