Ai gente blz,
tenho uma aplicação web com Hibernate e JSF, toda vez que ele grava, exclui ou edita uma informação no banco de dados ele retorna uma pagina xhtml, caso a informação seja gravada com sucesso, ele retorna a pagina sucesso.xhtml, caso ele nao consiga gravar a informação ele vai para a pagina erro.xhtml, é possivel modificar este comportamento, em vez dele mudar a pagina apenas para exibir o resultado do processamento do managed bean, ele poderia simplesmente mostrar uma string dizendo "Informação gravada com sucesso" ou "Falha ao gravar informação" ?
sucesso.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:rich="http://richfaces.org/rich">
<h:head><title>Curriculo Salesianos</title>
</h:head>
<h:body>
<div align="center">
<h1>Operação realizada com sucesso</h1>
<hr/>
<a href="inicio.jsf">Retornar a página Principal</a>
<fieldset>
<legend>Curriculo Salesiano</legend>
<h:form>
<h:commandButton value="cidade" action="cadastro_cidade" />
<br />
<h:commandButton value="estado" action="cadastro_estado" />
<br />
<h:commandButton value="inspetoria" action="cadastro_inspetoria" />
<br />
<h:commandButton value="familia_salesiana" action="cadastro_familia_salesiana" />
<br />
<h:commandButton value="comunidade" action="cadastro_comunidade" />
<br />
<h:commandButton value="obra" action="cadastro_obra" />
<br />
<h:commandButton value="hist_com_obr" action="cadastro_hist_com_obr" />
<br />
<h:commandButton value="pessoas" action="cadastro_pessoas" />
<br />
<h:commandButton value="salesianos" action="cadastro_salesianos" />
<br />
<h:commandButton value="separacao" action="cadastro_separacao" />
<br />
<h:commandButton value="hist_separacao" action="cadastro_hist_separacao" />
<br />
<h:commandButton value="parentesco" action="cadastro_parentesco" />
<br />
<h:commandButton value="eventos" action="cadastro_eventos" />
<br />
<h:commandButton value="hist_eventos" action="cadastro_hist_eventos" />
<br />
<h:commandButton value="curso_especializado" action="cadastro_curso_especializado" />
<br />
<h:commandButton value="hist_cur_esp" action="cadastro_hist_cur_esp" />
<br />
<h:commandButton value="sacramento_ministerio" action="cadastro_sacramento_ministerio" />
<br />
<h:commandButton value="hist_sac_min" action="cadastro_hist_sac_min" />
<br />
<h:commandButton value="diocese" action="cadastro_diocese" />
<br />
<h:commandButton value="bispos" action="cadastro_bispos" />
<br />
<h:commandButton value="paroquia" action="cadastro_paroquia" />
<br />
<h:commandButton value="hist_dio_bis" action="cadastro_hist_dio_bis" />
<br />
<h:commandButton value="formacao_religiosa" action="cadastro_formacao_religiosa" />
<br />
<h:commandButton value="hist_for_rel" action="cadastro_hist_for_rel" />
<br />
<h:commandButton value="sistemas" action="cadastro_sistemas" />
<br />
<h:commandButton value="cargo" action="cadastro_cargo" />
<br />
<h:commandButton value="hist_comissao" action="cadastro_hist_comissao" />
<br />
<h:commandButton value="profissoes" action="cadastro_profissoes" />
<br />
<h:commandButton value="hist_profissoes" action="cadastro_hist_profissoes" />
<br />
<h:commandButton value="tipo_producao" action="cadastro_tipo_producao" />
<br />
<h:commandButton value="producao_intelectual" action="cadastro_producao_intelectual" />
<br />
<h:commandButton value="graduacao" action="cadastro_graduacao" />
<br />
<h:commandButton value="hist_graduacao" action="cadastro_hist_graduacao" />
<br />
<h:commandButton value="hist_comunidade" action="cadastro_hist_comunidade" />
<br />
<h:commandButton value="hist_sal_obr" action="cadastro_hist_sal_obr" />
<br />
<h:commandButton value="testeSelect" action="testeSelect" />
<br />
<h:commandButton value="listar_estado" action="listar_estado" />precisa ser verificado por causa do selectOneMenu
<br/>
<h:commandButton value="listar_tablea_extendida" action="listar_tablea_extendida" />precisa ser verificado por causa do selectOneMenu
<br/>
<h:commandButton value="layout" action="layout" />
<br/>
<br />
Gerar tabela no banco de dados
<h:commandButton value="Gravar" action="#{geraTabelasnoBanco.gerar}" />
<br/>
</h:form>
</fieldset>
</div></h:body></html>
erro.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:rich="http://richfaces.org/rich">
<h:head><title>Curriculo Salesianos</title>
</h:head>
<h:body>
<div align="center">
<h1>Erro, entre em contato com o administrador do sistema<br/>
e peça que seja verificado o log do servidor</h1>
<a href="inicio.jsf">Retornar a página Principal</a>
<hr/>
<fieldset>
<legend>Curriculo Salesiano</legend>
<h:form>
<h:commandButton value="cidade" action="cadastro_cidade" />
<br />
<h:commandButton value="estado" action="cadastro_estado" />
<br />
<h:commandButton value="inspetoria" action="cadastro_inspetoria" />
<br />
<h:commandButton value="familia_salesiana" action="cadastro_familia_salesiana" />
<br />
<h:commandButton value="comunidade" action="cadastro_comunidade" />
<br />
<h:commandButton value="obra" action="cadastro_obra" />
<br />
<h:commandButton value="hist_com_obr" action="cadastro_hist_com_obr" />
<br />
<h:commandButton value="pessoas" action="cadastro_pessoas" />
<br />
<h:commandButton value="salesianos" action="cadastro_salesianos" />
<br />
<h:commandButton value="separacao" action="cadastro_separacao" />
<br />
<h:commandButton value="hist_separacao" action="cadastro_hist_separacao" />
<br />
<h:commandButton value="parentesco" action="cadastro_parentesco" />
<br />
<h:commandButton value="eventos" action="cadastro_eventos" />
<br />
<h:commandButton value="hist_eventos" action="cadastro_hist_eventos" />
<br />
<h:commandButton value="curso_especializado" action="cadastro_curso_especializado" />
<br />
<h:commandButton value="hist_cur_esp" action="cadastro_hist_cur_esp" />
<br />
<h:commandButton value="sacramento_ministerio" action="cadastro_sacramento_ministerio" />
<br />
<h:commandButton value="hist_sac_min" action="cadastro_hist_sac_min" />
<br />
<h:commandButton value="diocese" action="cadastro_diocese" />
<br />
<h:commandButton value="bispos" action="cadastro_bispos" />
<br />
<h:commandButton value="paroquia" action="cadastro_paroquia" />
<br />
<h:commandButton value="hist_dio_bis" action="cadastro_hist_dio_bis" />
<br />
<h:commandButton value="formacao_religiosa" action="cadastro_formacao_religiosa" />
<br />
<h:commandButton value="hist_for_rel" action="cadastro_hist_for_rel" />
<br />
<h:commandButton value="sistemas" action="cadastro_sistemas" />
<br />
<h:commandButton value="cargo" action="cadastro_cargo" />
<br />
<h:commandButton value="hist_comissao" action="cadastro_hist_comissao" />
<br />
<h:commandButton value="profissoes" action="cadastro_profissoes" />
<br />
<h:commandButton value="hist_profissoes" action="cadastro_hist_profissoes" />
<br />
<h:commandButton value="tipo_producao" action="cadastro_tipo_producao" />
<br />
<h:commandButton value="producao_intelectual" action="cadastro_producao_intelectual" />
<br />
<h:commandButton value="graduacao" action="cadastro_graduacao" />
<br />
<h:commandButton value="hist_graduacao" action="cadastro_hist_graduacao" />
<br />
<h:commandButton value="hist_comunidade" action="cadastro_hist_comunidade" />
<br />
<h:commandButton value="hist_sal_obr" action="cadastro_hist_sal_obr" />
<br />
<h:commandButton value="testeSelect" action="testeSelect" />
<br />
<h:commandButton value="listar_estado" action="listar_estado" />precisa ser verificado por causa do selectOneMenu
<br/>
<h:commandButton value="listar_tablea_extendida" action="listar_tablea_extendida" />precisa ser verificado por causa do selectOneMenu
<br/>
<h:commandButton value="layout" action="layout" />
<br/>
<br />
Gerar tabela no banco de dados
<h:commandButton value="Gravar" action="#{geraTabelasnoBanco.gerar}" />
<br/>
</h:form>
</fieldset>
</div></h:body></html>
cadastro_estado.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:head><title>Curriculo Salesiano</title>
<link rel="stylesheet" type="text/css" href="css/principal.css" />
<script type="text/javascript" src="js/jquery-1.5.2.min.js"/>
<script type="text/javascript" src="js/corTabela.js"/>
<script language="JavaScript">
function function1(elem) {
var c = elem.innerHTML;
var d = elem.childNodes[0].innerHTML;
var e = elem.childNodes[1].innerHTML;
var f = elem.childNodes[2].innerHTML;
//alert(c+"-"+d+"-"+e+"-"+f)
document.getElementById("FormEstado:idEstado").value=d;
document.getElementById("FormEstado:idEstadoOculto").value=d;
document.getElementById("FormEstado:siglaEstado").value=e;
document.getElementById("FormEstado:nomeEstado").value=f;
}
</script>
</h:head>
<h:body>
<div align="center">
<h1>Estados</h1>
<rich:panel header="Cadastro" >
<h:form id="FormEstado">
<table id="cadastro">
<tr>
<td align="right">ID Estado:</td>
<td><h:inputText id="idEstado" readonly="true" value="#{gravaEstado.est_id}" binding="#{gravaEstado.idEstado}" /></td>
</tr>
<tr>
<td align="right">Sigla Estado:</td>
<td><h:inputText id="siglaEstado" maxlength="2" value="#{gravaEstado.est_sigla}" binding="#{gravaEstado.siglaEstado}" required="true" requiredMessage="O campo SiglaEstado deve ser preenchido" />
</td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="siglaEstado" /></td>
</tr>
<tr>
<td align="right">Nome do estado:</td>
<td><h:inputText id="nomeEstado" value="#{gravaEstado.est_nome}" binding="#{gravaEstado.nomeEstado}" required="true" requiredMessage="O campo NomeEstado deve ser preenchido"/></td>
</tr>
<tr>
<td colspan="2"><h:message styleClass="mensagemErro" for="nomeEstado" /></td>
</tr>
</table>
<h:inputHidden id="idEstadoOculto" value="#{gravaEstado.est_id}" binding="#{gravaEstado.idEstadoOculto}" />
<h:commandButton action="#{gravaEstado.limpar}" value="Limpar"/>
<h:commandButton value="Gravar" action="#{gravaEstado.gravar}" />
<h:commandButton value="Excluir" action="#{gravaEstado.excluir}" />
</h:form>
</rich:panel>
<br/>
<br/>
<rich:panel header="Pesquisa" >
<h:form>
<h:inputText value="#{listaEstado.est_nom}" />
<a4j:commandButton value="Pesquisar" render="out" action="#{listaEstado.filtrar}" />
<br/><br/>
</h:form>
<a4j:outputPanel id="out">
<table border="1">
<tr>
<td>ID</td>
<td>Sigla</td>
<td>Estado</td>
</tr>
<a4j:repeat value="#{listaEstado.suaLista}" var="x">
<tr onclick="function1(this)"><td>#{x.est_id}</td><td>#{x.est_sigla}</td><td>#{x.est_nom}</td></tr>
</a4j:repeat>
</table>
</a4j:outputPanel>
</rich:panel>
<h2><a href="inicio.jsf">Retornar a pagina Principal</a></h2>
<br/>
</div></h:body></html>
GravaEstado.java
package br.salesianos.db;
import br.salesianos.modelo.Estado;
import javax.faces.bean.ManagedBean;
import javax.faces.component.html.HtmlInputHidden;
import javax.faces.component.html.HtmlInputText;
import org.apache.commons.lang.WordUtils;
import org.hibernate.*;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class GravaEstado {
private Integer est_id;
private String est_nome;
private String est_sigla;
private HtmlInputText idEstado;
private HtmlInputText nomeEstado;
private HtmlInputText siglaEstado;
private HtmlInputHidden idEstadoOculto;
private Session sessao = CriadorDeSessaoNovo.getSession();
private Transaction tx = sessao.beginTransaction();
public void limpar() {
getIdEstado().setValue("");
getNomeEstado().setValue("");
getSiglaEstado().setValue("");
getIdEstadoOculto().setValue("");
}
public String gravar() {
//Session sessao = CriadorDeSessao.getSession();
try {
Estado obj_estado = new Estado();
if (getEst_id() != 0) {
//System.out.println("É sim2");
obj_estado.setEst_id(getEst_id());
}
obj_estado.setEst_nom(WordUtils.capitalizeFully(getEst_nome()));
obj_estado.setEst_sigla(getEst_sigla().toUpperCase());
sessao.saveOrUpdate(obj_estado);
tx.commit();
sessao.close();
return "sucesso";
} catch (Exception erro) {
System.out.println("Problema : " + erro);
tx.rollback();
sessao.close();
return "erro";
}
}
public String excluir() {
try {
Estado obj_estado = new Estado();
obj_estado.setEst_id(getEst_id());
sessao.delete(obj_estado);
tx.commit();
sessao.close();
return "sucesso";
} catch (Exception erro) {
System.out.println("Problema : " + erro);
tx.rollback();
sessao.close();
return "erro";
}
}
/**
* @return the est_id
*/
public Integer getEst_id() {
return est_id;
}
/**
* @param est_id the est_id to set
*/
public void setEst_id(Integer est_id) {
this.est_id = est_id;
}
/**
* @return the est_nome
*/
public String getEst_nome() {
return est_nome;
}
/**
* @param est_nome the est_nome to set
*/
public void setEst_nome(String est_nome) {
this.est_nome = est_nome;
}
/**
* @return the est_sigla
*/
public String getEst_sigla() {
return est_sigla;
}
/**
* @param est_sigla the est_sigla to set
*/
public void setEst_sigla(String est_sigla) {
this.est_sigla = est_sigla;
}
/**
* @return the idEstado
*/
public HtmlInputText getIdEstado() {
return idEstado;
}
/**
* @param idEstado the idEstado to set
*/
public void setIdEstado(HtmlInputText idEstado) {
this.idEstado = idEstado;
}
/**
* @return the nomeEstado
*/
public HtmlInputText getNomeEstado() {
return nomeEstado;
}
/**
* @param nomeEstado the nomeEstado to set
*/
public void setNomeEstado(HtmlInputText nomeEstado) {
this.nomeEstado = nomeEstado;
}
/**
* @return the siglaEstado
*/
public HtmlInputText getSiglaEstado() {
return siglaEstado;
}
/**
* @param siglaEstado the siglaEstado to set
*/
public void setSiglaEstado(HtmlInputText siglaEstado) {
this.siglaEstado = siglaEstado;
}
/**
* @return the idEstadoOculto
*/
public HtmlInputHidden getIdEstadoOculto() {
return idEstadoOculto;
}
/**
* @param idEstadoOculto the idEstadoOculto to set
*/
public void setIdEstadoOculto(HtmlInputHidden idEstadoOculto) {
this.idEstadoOculto = idEstadoOculto;
}
}