JSF 1.2 com Hibernate

7 respostas
Joabe.Carmo

Bom dia pessoal!
Sou novato na área então se puderem responder com a maior didática possível, desde já agradeço muito.
Ah, desculpem se eu não souber formular a pergunta corretamente.

Estou replicando uma pequena parte de um formulário pra gerar relatório mas o botão não funciona. Foi praticamente um copiar e colar com exceção de uma nova propriedade a qual já inseri no bean, numa interface DAO, numa classe que implementa a interface DAO que é a que acho que faz o mapeamento OR e em um arquivo de configuração chamado hbm.xml.
Bom, acho que criei a nova propriedade em todos os lugares possíveis mas o botão do formulário não é chamado e curiosamente ou não, o eclipse não deixa debugar (a não ser que eu tire esses novos campos que criei) e também não tem log de erro. Simplesmente o botão não funciona. ME PARECE que a página dá só um reload.

7 Respostas

williambr

Olá amigo posta o código da implementação dos botões em jsf

<h:commandButtom action='#maneger.funcao'/>
Joabe.Carmo

<h:panelGrid columns=“2” rowClasses=“tabela_corpo” styleClass="painel_largura_fixa"
headerClass=“tabela_subitem” footerClass=“tabela_rodape” columnClasses=“colunaDeRotulos,colunaDeCampos”>

<f:facet name="header">
						<h:outputText value="#{Mensagens['adm.config.relat.cabecalho.requisicao']}"/>
					</f:facet>
					
					<h:outputText value="#{Mensagens['adm.config.relat.hashrequisicao']}" />
					<h:inputText value="#{ConfigurarRelatorioTransacao.hashRequisicao}" />
					
					<h:outputText value="#{Mensagens['adm.config.relat.requisicao']}" />
					<h:column>
						<t:inputFileUpload value="#{ConfigurarRelatorioTransacao.requisicao}" storage="file" />
					</h:column>
					
					<h:outputText value="Algoritmo de Hash a ser usado:" />
					<h:selectOneMenu value="#{ConfigurarRelatorioTransacao.algoritmoHashRequisicao}">
						<f:selectItems value="#{ConfigurarRelatorioTransacao.listaAlgoritmos}"/>
					</h:selectOneMenu>
					   
				</h:panelGrid>
Joabe.Carmo
&lt;h:panelGrid columns="1" rowClasses="tabela_corpo" styleClass="painel_largura_fixa"
					headerClass="tabela_subitem" footerClass="tabela_rodape"&gt;
				&lt;h:commandButton action="#{ConfigurarRelatorioTransacao.criarRelatorioResumido}" value="#{Mensagens['adm.config.relat.botao.gerarRelatorio']}"/&gt;
				&lt;/h:panelGrid&gt;
Joabe.Carmo

…A parte do formulário que eu repliquei e depois o código para o (único) botão.

Como faço pra postar o código como você fez: formatado como código mesmo. Entendeu? rs

williambr

Acho que entendi um pouco o que você quer fazer que utilizar 2 formulário dentro de uma mesma pagina jsf?
a teg /[/code/] / e fecha inserir seu codigo no post…

no seu jsf tem que ter a teg <h:form> fechando ela para Submeter a cada formulário criado OK.

Exemplo:

//1 formulario submete para uma função 
<h:form>
   <h:inputText value='' /> 
    <h:commandButtom action='#{funcao.cadastro}' 
</h:form>
//2 formulario para outra função
<h:form>
   <h:inputText value='' /> 
    <h:commandButtom action='#{funcao.update}' 
</h:form>

Obs: eu Utilizo o Prime faces http://www.primefaces.org/showcase/ui/
Veja a documentação…

Vlw

Joabe.Carmo

Já estava. É que não coloquei a página toda. Não são dois formulários em uma página. É um só porém com 3 panels.
O 3º panel é o que eu repliquei porém usando 2 propriedades diferentes: "HashRequisicao" e "algoritmoHashRequisicao"
Segue abaixo. Thanks até aqui.

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="bry" %>

<%@include file="/taglib.jsp" %>

<html>
	<layout:head titulo="titulo.relatorioTransacao">
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
		<script type="text/javascript" src="${js}/scripts_relatorios.js"></script>
		<script type="text/javascript" src="${js}/mascaras.js"></script>
	</layout:head>
	<body>
	<f:view>
	<div class="main">
	 		<div class="main-content">
			<comum:titulo key="adm.config.relat.transacao.titulo" nomeServico="sistema.relatorio" exibirOrientacoes="true" />
			<comum:orientacoes prefixo_pagina="adm.config.relat.transacao" size="7" />
	 	</div>	
		<h:outputText value="#{ConfigurarRelatorioTransacao.inicializa}"  id="inicializa" style="display: none;"/>
		<comum:mensagem tipo="${ConfigurarRelatorioTransacao.tipoMsg}" message="${ConfigurarRelatorioTransacao.msg}"/>
		<comum:mensagem tipo="${MensagemErroUploadBB.tipoMsg}" message="${MensagemErroUploadBB.msg}" />
			<center>				
			<h:form id="formPesquisaTransacao" enctype="multipart/form-data">
					<h:panelGrid columns="2" rowClasses="tabela_corpo" styleClass="painel_largura_fixa"
							headerClass="tabela_subitem" footerClass="tabela_rodape"  columnClasses="colunaDeRotulos,colunaDeCampos">
					
						<f:facet name="header">
							<h:outputText value="#{Mensagens['adm.config.relat.cabecalho.documento']}"/>
						</f:facet>
						
						<h:outputText value="#{Mensagens['adm.config.relat.hashDoc']}" />
						<h:inputText value="#{ConfigurarRelatorioTransacao.hashDocumento}" />
						
						<h:outputText value="#{Mensagens['adm.config.relat.doc']}" />
						<h:column>
							<t:inputFileUpload value="#{ConfigurarRelatorioTransacao.documento}" storage="file" />
						</h:column>
						<h:outputText value="Algoritmo de Hash a ser usado:" />
						<h:selectOneMenu value="#{ConfigurarRelatorioTransacao.algoritmoHashDocumento}">
							<f:selectItems value="#{ConfigurarRelatorioTransacao.listaAlgoritmos}"/>
						</h:selectOneMenu>
					</h:panelGrid>
				
					<h:panelGrid columns="2" rowClasses="tabela_corpo" styleClass="painel_largura_fixa"
							headerClass="tabela_subitem" footerClass="tabela_rodape"  columnClasses="colunaDeRotulos,colunaDeCampos">
					
						<f:facet name="header">
							<h:outputText value="#{Mensagens['adm.config.relat.cabecalho.carimbo']}"/>
						</f:facet>
						
						<h:outputText value="#{Mensagens['adm.config.relat.hashCarimbo']}" />
						<h:inputText value="#{ConfigurarRelatorioTransacao.hashCarimbo}" />
						
						<h:outputText value="#{Mensagens['adm.config.relat.carimbo']}" />
						<h:column>
							<t:inputFileUpload value="#{ConfigurarRelatorioTransacao.carimbo}" storage="file" />
						</h:column>
						
						<h:outputText value="Algoritmo de Hash a ser usado:" />
						<h:selectOneMenu value="#{ConfigurarRelatorioTransacao.algoritmoHashCarimbo}">
							<f:selectItems value="#{ConfigurarRelatorioTransacao.listaAlgoritmos}"/>
						</h:selectOneMenu>
						
						
					</h:panelGrid>
					
<%--JOABE CARMO-------------------------------------------------------------------------------------------------------------------------------------------%>
					
					   <%-- <h:panelGrid columns="2" rowClasses="tabela_corpo" styleClass="painel_largura_fixa"
							headerClass="tabela_subitem" footerClass="tabela_rodape" columnClasses="colunaDeRotulos,colunaDeCampos">
					
						<f:facet name="header">
							
							<h:outputText value="#{Mensagens['adm.config.relat.cabecalho.requisicao']}"/>
						</f:facet>
						
						<h:outputText value="#{Mensagens['adm.config.relat.hashrequisicao']}" />
						<h:inputText value="#{ConfigurarRelatorioTransacao.hashRequisicao}" />
						
						<h:outputText value="#{Mensagens['adm.config.relat.requisicao']}" />
						<h:column>
							<t:inputFileUpload value="#{ConfigurarRelatorioTransacao.requisicao}" storage="file" />
						</h:column>
						
						<h:outputText value="Algoritmo de Hash a ser usado:" />
						<h:selectOneMenu value="#{ConfigurarRelatorioTransacao.algoritmoHashRequisicao}">
							<f:selectItems value="#{ConfigurarRelatorioTransacao.listaAlgoritmos}"/>
						</h:selectOneMenu>
						   
					</h:panelGrid> --%>
					  

<%--JOABE CARMO-------------------------------------------------------------------------------------------------------------------------------%>

					</br></br>
					
					
					<h:panelGrid columns="1" rowClasses="tabela_corpo" styleClass="painel_largura_fixa"
						headerClass="tabela_subitem" footerClass="tabela_rodape">
					<h:commandButton action="#{ConfigurarRelatorioTransacao.criarRelatorioResumido}" value="#{Mensagens['adm.config.relat.botao.gerarRelatorio']}"/>
					</h:panelGrid>
				</h:form>
				
			</center>
		</f:view>
	</body>
</html>
williambr

Cara então primeiramente você precisa testar o método que chama a função … ou incluir um print("") no método e quando ele for chamado ele deve ser impresso no console…

Também verificar se esta mapeado no faces-config.xml ou se for uma versão atual verificar se ma manager bean tem @SessionScope

class MinhaBean{

}
Criado 3 de abril de 2013
Ultima resposta 3 de abr. de 2013
Respostas 7
Participantes 2