Jsf

3 respostas
kelvis

Galera… tô construindo uma pequena aplicação JSF + RICHFACES + HIBERNATE + JPA e encontrei o seguinte problema ao rodar minha primeira página jsp construída:

java.lang.ExceptionInInitializerError

Caused by:
org.hibernate.HibernateException - /hibernate.cfg.xml not found

Sei que ele não tá encontrando o cfg.xml do hibernate, porém esse xml existe e eu o coloquei na pasta WEB-INF junto com WEB.xml e FacesConfig.xml

Alguém tem uma sugestão?

Agradeço desde já!!

3 Respostas

humberto.lima

Coloca em WEB-INF/classes

kelvis

Certissímo brother…

Agora outra dúvida:

tô fazendo o seguinte:

DAO(método que salva o cliente no banco)

public void salvar(ClientesBean clientes) {
			Session session = factory.openSession();
			if (session != null) {
				try {
					// Inicio da Trasacao
					session.beginTransaction();
					// Salva o objeto no banco
					session.save(clientes);
					// Commita a transacao(conclui)
					session.getTransaction().commit();
				} catch (Exception e) {
					// cancela a transacao, o banco nao sofre alteracao
					e.printStackTrace();
					session.getTransaction().rollback();
				} finally {
					// fecha a sessao
					session.close();
				}
			} else {
				throw new RuntimeException("Sessão Inválida.");
			}
		}

BO(Instancia meu DAO e chama o salvar)

DAOCliente dao = new DAOCliente();
	
	public void salvarClientes(ClientesBean clientes) {
		dao.salvar(clientes);
	}

JSP(faço bind dos campos do meu formulário com os atributos do meu bean)

<f:view>
<h:form>
<rich:panel id="cadastrarCliente" style="width: 600px;">
<f:facet name="header">
<h:outputText value="Cadastro de Clientes"></h:outputText>
</f:facet>
<h:panelGrid columns="6">
<h:column><h:outputText value="Nome:"/></h:column>
<h:column><h:inputText value="#{ClientesBean.nome}"/></h:column>
<h:column><h:outputText value="Endereço:"/></h:column>
<h:column><h:inputText value="#{ClientesBean.endereco}"/></h:column>
<h:column><h:outputText value="Bairro:"/></h:column>
<h:column><h:inputText value="#{ClientesBean.bairro}"/></h:column>
<h:column><h:outputText value="Cidade:"/></h:column>
<h:column><h:inputText value="#{ClientesBean.cidade}"/></h:column>
<h:column><h:outputText value="UF:"/></h:column>
<h:column><h:inputText value="#{ClientesBean.uf}"/></h:column>
<h:column><h:outputText value="CEP:"/></h:column>
<h:column><h:inputText value="#{ClientesBean.cep}"/></h:column>
<h:column><h:outputText value="Telefone:"/></h:column>
<h:column><h:inputText value="#{ClientesBean.telefone}"/></h:column>
<h:column><h:outputText value="E-mail:"/></h:column>
<h:column><h:inputText value="#{ClientesBean.email}"/></h:column>
</h:panelGrid>
<h:commandButton value="Cadastrar" action=""}"></h:commandButton>
</rich:panel>
</h:form>
</f:view>

Agora note que a action do botão Cadastrar está vazio… Minha dúvida é:
Como como é que vou chamar a ação de gravar o cliente na minha JSP?

Alguém pode citar um exemplo?
Dá uma forcinha ai galera…

L

Vc deve ter algum ManagedBean do JSF certo? configurado dentro de faces-config.xml se nao me engano, provavelmente seu “ClientesBean” pode ser um ManagedBean já.

Dessa forma é só criar um metodo para salvar dentro do ManagedBean que salve o cliente, referenciando dessa forma na pagina:

<h:commandButton value="Cadastrar" action="#{seuManagedBean.salvarCliente}"></h:commandButton>

Isso?!

Criado 20 de abril de 2009
Ultima resposta 20 de abr. de 2009
Respostas 3
Participantes 3