Dificuldade em criar um formulario de filtro com jsf + primefaces

8 respostas
N

Colegas,
estou tentando criar um formulario simples para meu sistema, é um formulario de filtro, onde tenho os campos
Nome do grupo e ativo (2 checbox),
O resultado no p:table seria o nome do grupo, a descrição e se esta tivo. Esses dados irão aparecer abaixo do formulário.
Mas confesso que por ser iniciante, estou apanhando muito.
Consegui fazer a tela de cadastro e registro no banco de dados, mas para este formulário ja estou a uma semana tentadando exibir os dados após clicar em pesquiar.
Alguem teria um exemplo para me ajudar.
Desde já muito obrigado!!

8 Respostas

J

Boa tarde.

Segue um exemplo simples do form em XHTML…

<h:body>
<h:form>
            <p:growl id="growl" showDetail="true" sticky="true" />  
            <p:panel header="Exemplo" >
            <p:panelGrid columns="2">
                <h:outputText value="Empresa"> </h:outputText>
                <h:selectOneMenu value="#{formulario.empresa}" required="true" requiredMessage="Definir a empresa é obrigatório">
                    <f:selectItem itemLabel="Unidade1" itemValue="01" />
                    <f:selectItem itemLabel="Unidade2" itemValue="02" />
                </h:selectOneMenu>
                
                <h:outputText value="Data Inicial"> </h:outputText>
                <p:calendar value="#{formulario.data_inicial}" pattern="dd/MM/yyyy" required="true" />
                
                <h:outputText value="Data Final"> </h:outputText>
                <p:calendar value="#{formulario.data_final}" pattern="dd/MM/yyyy" required="true" />
                
                <h:outputText value="Valor"> </h:outputText>
                
                <h:inputText value="#{formulario.valor}" required="true" ></h:inputText>
                                
                <h:outputText value="Condição de pagamento"> </h:outputText>
                <h:selectOneMenu value="#{formulario.condicao}" required="true">
                    <f:selectItem itemLabel="28 dd" itemValue="28" />
                    <f:selectItem itemLabel="29 dd" itemValue="29" />
                    <f:selectItem itemLabel="30 dd" itemValue="30" />
                    <f:selectItem itemLabel="31 dd" itemValue="30" />
                    <f:selectItem itemLabel="45 dd" itemValue="45" />
                    <f:selectItem itemLabel="15 dd" itemValue="15" />
                    <f:selectItem itemLabel="A vista (7dd)" itemValue="7" />
                </h:selectOneMenu>
   
            </p:panelGrid>
            
            
            
            <p:commandButton action="#{formulario.previsualizar}" value="Preview" ajax="false" />
            <p:commandButton actionListener="#{formulario.salvar}" value="Efetiar" update="growl" />
            <p:commandButton actionListener="#{formulario.cancelar}" value="Cancelar" update="growl" />
            </p:panel>    
        </h:form>
        
        <br />
        
        <br />
        <p:dataTable var="list" value="#{tabela.listar()}" style="width:400 px">
            
            <p:column headerText="Data Emissao">
                <h:outputText value="#{list.data}" >
                    <f:convertDateTime pattern="dd/MM/yyyy" />
                </h:outputText>
            </p:column>
            
            <p:column headerText="Data Vencimento">
                <h:outputText value="#{list.vencimento}" >
                    <f:convertDateTime pattern="dd/MM/yyyy" />
                </h:outputText>
            </p:column>
            
            <p:column headerText="Valor">
                <h:outputText value="#{list.valor}" >
                    <f:convertNumber pattern="#,##0.00" />
                </h:outputText>
            </p:column>
            
            <p:column headerText="Descricao">
                <h:outputText value="#{list.descricao}" >
                </h:outputText>
            </p:column>
            
            <p:column headerText="ANO-MES">
                <h:outputText value="#{list.ano_mes_ref}" >
                </h:outputText>
            </p:column>
            
        </p:dataTable>
</h:body>

No seu ManagedBean, voce teria para os formularios metodos getters e setters:

public String getEmpresa() {
        return empresa;
    }

public void setEmpresa(String empresa) {
        this.empresa = empresa;
    }

Já a tabela vai ser linkada a um método que retorna um list ou model, dependendo a implementação.

Bons estudos.

Att,
Jonas

N

Colega, muito obrigado por tentar me ajudar!
com base no que me mostrou aqui e varios tutoriais lidos, tentei fazer um filtro com o padrão de minha aplicação, na verdade é desnecessário dizer que não deu certo não eh?
Irei colocar aqui de tela do cliente ate meu repositórios a tela e as classes, se puder me ajudar serei muito grato!!

Tela de Pesquisa:
Um botão com o metodo pesquiser e um campo onde digito o nome do grupo, esta com um campo somente para fazer teste ok!

<ui:composition template="/administracao/layoutAdmin.xhtml"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui">

	<ui:define name="titulo">Pesquisar Grupo</ui:define>

	<ui:define name="corpo">

		<h:form id="frm_usuario">
			<p:toolbar style="margin-top: 20px">
				<f:facet name="left">
					<p:commandButton value="Pesquisar" action="#{grupoBean.pesquisar()}"
						update="@form" icon="ui-icon-search" ajax="true" />
				</f:facet>

				<f:facet name="right">
					<p:button value="Novo"  icon="ui-icon-document" />
				</f:facet>
			</p:toolbar>
			<h3>Pesquisar Grupos</h3>

			<p:panelGrid columns="2" id="painel" >
				<p:outputLabel value="Nome" for="nome" />
				<p:inputText id="nome" size="20" maxlength="20" value="#{grupoBean.grupo.nomegrupo}"/>
			</p:panelGrid>
			
			<br />

			<p:dataTable id="grupoTable" >  
                <p:column headerText="Id" >  
                    <h:outputText value="id" />  
                </p:column>  
  
                <p:column headerText="Nome">  
                    <h:outputText value="nome" />  
                </p:column>  
  
                <p:column headerText="Descrição">  
                    <h:outputText value="descricao" />  
                </p:column>  
              
                  
                <p:column headerText="Status">  
                    <h:outputText value="#" />  
                </p:column>  
                  
                <p:column style="text-align: center; width: 50px">  
                    <p:button icon="ui-icon-pencil" title="Editar">  
                          
                    </p:button>  
                </p:column>  
                  
            </p:dataTable>  
		</h:form>
	</ui:define>
</ui:composition>

grupoBean: O método exibeItem, é somente para imprimir no console o nome dos grupos que estão no banco de dados.

import java.util.List;

import javax.enterprise.context.RequestScoped;
import javax.inject.Named;

import com.agenciafretebem.model.Grupo;
import com.agenciafretebem.service.GrupoService;

@Named
@RequestScoped
public class GrupoBean {	
	
	private GrupoService grupoService;	
	private Grupo grupo;	
	private List<Grupo> listaGrupo;	
		
	public void pesquisar(){
		
		listaGrupo = grupoService.listarGrupo();		
		exibeItem(); //Metodo simplesmente para exibir no console o valor pesquisado
		
	}
	
	private void exibeItem(){
		 
		for (int i = 0; i < listaGrupo.size(); i++) {
			
			System.out.println(listaGrupo.indexOf(i));
			
		}
	}
	
	
	public Grupo getGrupo() {
		return grupo;
	}
	
	public List<Grupo> getListaGrupo() {
		return listaGrupo; 
	}
}

Classe de seviço: Nesta irei depois implementar os métodos de gravar, alterar e excluir

import java.util.List;

import javax.inject.Inject;

import com.agenciafretebem.model.Grupo;

@SuppressWarnings("serial")
public class GrupoService extends AbstractService {

	@Inject
	private GrupoService repository;

	public List<Grupo> listarGrupo() {
		return repository.listarGrupo();
	}
}

Repositorio: Onde fica o sql para buscar dos dados no banco, esta classe extende a classe abstractRepository que tem o EntityManager

import java.util.List;

import javax.persistence.Query;

import com.agenciafretebem.model.Grupo;

public class GrupoRepository extends AbstractRepository {

	@SuppressWarnings("unchecked")
	public List<Grupo> listarGrupo() {
		Query q = criarQuery("SELECT g FROM Grupo g ORDER BY g.nomegrupo");
		return q.getResultList();
	}
}

AbstractFactory: Possui o EntityManager

import javax.enterprise.context.RequestScoped;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

@RequestScoped
public abstract class AbstractRepository {
	
	/**
	 * EntityManager para interagir com a JPA
	 */
	@PersistenceContext
	protected EntityManager em;

	/**
	 * Carrega uma entidade com base na chave primária
	 */
	public <T> T carregar(Object key, Class<T> clazz) {
		return em.find(clazz, key);
	}

	/**
	 * Persiste uma entidade
	 */
	public <T> void salvar(T entity) {
		em.persist(entity);
	}
	
	/**
	 * Altera uma entidade existente
	 */
	public <T> void alterar(T entity) {
		em.merge(entity);
	}
	
	/**
	 * Exclui uma entidade
	 */
	public <T> void excluir(T entity) {
		em.remove(entity);
	}
	
	/**
	 * Cria um objeto Query para uma query JPQL
	 */
	protected Query criarQuery(String query) {
		return em.createQuery(query);
	}
}

Por fim, o stacktrace após clicar no botão pesquisar

18:15:49,236 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.3.Final
18:15:49,705 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.2.Final
18:15:49,814 INFO  [org.jboss.as] (MSC service thread 1-6) JBAS015899: WildFly 8.2.0.Final "Tweek" starting
18:15:51,265 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015003: Found agenciaMvc.war in deployment directory. To trigger deployment create a file called agenciaMvc.war.dodeploy
18:15:51,280 INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http)
18:15:51,312 INFO  [org.xnio] (MSC service thread 1-7) XNIO version 3.3.0.Final
18:15:51,312 INFO  [org.xnio.nio] (MSC service thread 1-7) XNIO NIO Implementation Version 3.3.0.Final
18:15:51,359 INFO  [org.wildfly.extension.io] (ServerService Thread Pool -- 31) WFLYIO001: Worker 'default' has auto-configured to 8 core threads with 64 task threads based on your 4 available processors
18:15:51,375 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 45) JBAS013171: Activating Security Subsystem
18:15:51,375 INFO  [org.jboss.as.security] (MSC service thread 1-5) JBAS013170: Current PicketBox version=4.0.21.Final
18:15:51,390 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 32) JBAS010280: Activating Infinispan subsystem.
18:15:51,406 WARN  [org.jboss.as.txn] (ServerService Thread Pool -- 46) JBAS010153: Node identifier property is set to the default value. Please make sure it is unique.
18:15:51,406 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 40) JBAS011800: Activating Naming Subsystem
18:15:51,406 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 48) JBAS015537: Activating WebServices Extension
18:15:51,422 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 47) JBAS017502: Undertow 1.1.0.Final starting
18:15:51,422 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-5) JBAS017502: Undertow 1.1.0.Final starting
18:15:51,453 INFO  [org.jboss.as.connector.logging] (MSC service thread 1-2) JBAS010408: Starting JCA Subsystem (IronJacamar 1.1.9.Final)
18:15:51,500 INFO  [org.jboss.as.jsf] (ServerService Thread Pool -- 38) JBAS012615: Activated the following JSF Implementations: [main]
18:15:51,531 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010404: Deploying non-JDBC-compliant driver class org.postgresql.Driver (version 9.3)
18:15:51,531 INFO  [org.jboss.remoting] (MSC service thread 1-7) JBoss Remoting version 4.0.6.Final
18:15:51,531 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) JBAS010417: Started Driver service with driver-name = org.postgresql
18:15:51,546 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
18:15:51,546 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-4) JBAS010417: Started Driver service with driver-name = h2
18:15:51,562 INFO  [org.jboss.as.naming] (MSC service thread 1-3) JBAS011802: Starting Naming Service
18:15:51,562 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-3) JBAS015400: Bound mail session [java:jboss/mail/Default]
18:15:51,718 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 47) JBAS017527: Creating file handler for path D:\IDE\server\wildfly-8.2.0.Final/welcome-content
18:15:51,921 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-3) JBAS017525: Started server default-server.
18:15:51,952 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-3) JBAS017531: Host default-host starting
18:15:52,139 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-4) JBAS015012: Started FileSystemDeploymentService for directory D:\IDE\server\wildfly-8.2.0.Final\standalone\deployments
18:15:52,139 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015876: Starting deployment of "agenciaMvc.war" (runtime-name: "agenciaMvc.war")
18:15:52,373 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017519: Undertow HTTP listener default listening on localhost/127.0.0.1:8080
18:15:52,577 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-4) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]
18:15:52,577 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-7) JBAS010400: Bound data source [java:jboss/datasources/agenciaDs]
18:15:52,951 INFO  [org.jboss.ws.common.management] (MSC service thread 1-1) JBWS022052: Starting JBoss Web Services - Stack CXF Server 4.3.2.Final
18:15:55,073 INFO  [org.jboss.as.jpa] (MSC service thread 1-4) JBAS011401: Read persistence.xml for agenciaMvc
18:15:55,370 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 50) JBAS011409: Starting Persistence Unit (phase 1 of 2) Service 'agenciaMvc.war#agenciaMvc'
18:15:55,386 INFO  [org.hibernate.jpa.internal.util.LogHelper] (ServerService Thread Pool -- 50) HHH000204: Processing PersistenceUnitInfo [
	name: agenciaMvc
	...]
18:15:55,448 INFO  [org.hibernate.Version] (ServerService Thread Pool -- 50) HHH000412: Hibernate Core {4.3.7.Final}
18:15:55,464 INFO  [org.hibernate.cfg.Environment] (ServerService Thread Pool -- 50) HHH000206: hibernate.properties not found
18:15:55,464 INFO  [org.hibernate.cfg.Environment] (ServerService Thread Pool -- 50) HHH000021: Bytecode provider name : javassist
18:15:55,620 INFO  [org.jboss.weld.deployer] (MSC service thread 1-1) JBAS016002: Processing weld deployment agenciaMvc.war
18:15:55,714 INFO  [org.hibernate.validator.internal.util.Version] (MSC service thread 1-1) HV000001: Hibernate Validator 5.1.3.Final
18:15:56,135 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-8) JBAS010404: Deploying non-JDBC-compliant driver class org.postgresql.Driver (version 9.3)
18:15:56,135 INFO  [org.jboss.weld.deployer] (MSC service thread 1-8) JBAS016005: Starting Services for CDI deployment: agenciaMvc.war
18:15:56,167 INFO  [org.jboss.weld.Version] (MSC service thread 1-8) WELD-000900: 2.2.6 (Final)
18:15:56,198 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-1) JBAS010417: Started Driver service with driver-name = agenciaMvc.war_org.postgresql.Driver_9_3
18:15:56,214 INFO  [org.jboss.weld.deployer] (MSC service thread 1-3) JBAS016008: Starting weld service for deployment agenciaMvc.war
18:15:56,354 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 50) JBAS011409: Starting Persistence Unit (phase 2 of 2) Service 'agenciaMvc.war#agenciaMvc'
18:15:56,432 INFO  [org.hibernate.annotations.common.Version] (ServerService Thread Pool -- 50) HCANN000001: Hibernate Commons Annotations {4.0.4.Final}
18:15:56,651 INFO  [org.hibernate.dialect.Dialect] (ServerService Thread Pool -- 50) HHH000400: Using dialect: org.hibernate.dialect.PostgreSQLDialect
18:15:56,853 INFO  [org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory] (ServerService Thread Pool -- 50) HHH000397: Using ASTQueryTranslatorFactory
18:15:57,197 WARN  [org.hibernate.internal.SessionFactoryImpl] (ServerService Thread Pool -- 50) HHH000008: JTASessionContext being used with JDBCTransactionFactory; auto-flush will not operate correctly with getCurrentSession()
18:15:58,071 INFO  [io.undertow.servlet] (MSC service thread 1-7) No Spring WebApplicationInitializer types detected on classpath
18:15:58,196 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-7) Inicializando Mojarra 2.2.8-jbossorg-1 20140822-1131 para o contexto '/agenciaMvc'
18:16:01,269 INFO  [org.primefaces.webapp.PostConstructApplicationEventListener] (MSC service thread 1-7) Running on PrimeFaces 5.1
18:16:01,285 INFO  [org.wildfly.extension.undertow] (MSC service thread 1-7) JBAS017534: Registered web context: /agenciaMvc
18:16:01,364 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 28) JBAS018559: Deployed "agenciaMvc.war" (runtime-name : "agenciaMvc.war")
18:16:01,567 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
18:16:01,567 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
18:16:01,567 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.2.0.Final "Tweek" started in 12862ms - Started 291 of 345 services (92 services are lazy, passive or on-demand)
18:16:23,255 WARNING [org.primefaces.component.carousel.Carousel] (default task-2) rows is deprecated, use numVisible instead.
18:16:23,620 WARNING [javax.enterprise.resource.webcontainer.jsf.renderkit] (default task-2) JSF1090: Caso de navegação não resolvido para o componente j_idt15.
18:16:23,629 WARNING [javax.enterprise.resource.webcontainer.jsf.renderkit] (default task-2) JSF1090: Caso de navegação não resolvido para o componente j_idt17.
18:16:23,634 WARNING [javax.enterprise.resource.webcontainer.jsf.renderkit] (default task-2) JSF1090: Caso de navegação não resolvido para o componente j_idt19.
18:16:23,639 WARNING [javax.enterprise.resource.webcontainer.jsf.renderkit] (default task-2) JSF1090: Caso de navegação não resolvido para o componente j_idt21.
18:16:23,649 WARNING [javax.enterprise.resource.webcontainer.jsf.renderkit] (default task-2) JSF1090: Caso de navegação não resolvido para o componente j_idt24.
18:16:52,389 WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (default task-5) /administracao/grupo/PesquisaGrupo.xhtml @31,91 value="#{grupoBean.grupo.nomegrupo}": Target Unreachable, 'null' returned null: javax.el.PropertyNotFoundException: /administracao/grupo/PesquisaGrupo.xhtml @31,91 value="#{grupoBean.grupo.nomegrupo}": Target Unreachable, 'null' returned null
	at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100) [jsf-impl-2.2.8-jbossorg-1.jar:]
	at org.primefaces.util.ComponentUtils.getConverter(ComponentUtils.java:128) [primefaces-5.1.jar:5.1]
	at org.primefaces.renderkit.InputRenderer.getConvertedValue(InputRenderer.java:171) [primefaces-5.1.jar:5.1]
	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1045) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8]
	at javax.faces.component.UIInput.validate(UIInput.java:975) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8]
	at javax.faces.component.UIInput.executeValidate(UIInput.java:1248) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8]
	at javax.faces.component.UIInput.processValidators(UIInput.java:712) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8]
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1260) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8]
	at javax.faces.component.UIForm.processValidators(UIForm.java:253) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8]
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1260) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8]
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1260) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8]
	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8]
	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76) [jsf-impl-2.2.8-jbossorg-1.jar:]
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.2.8-jbossorg-1.jar:]
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) [jsf-impl-2.2.8-jbossorg-1.jar:]
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) [jboss-jsf-api_2.2_spec-2.2.8.jar:2.2.8]
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:63) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:197) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:759) [undertow-core-1.1.0.Final.jar:1.1.0.Final]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
	at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: javax.el.PropertyNotFoundException: Target Unreachable, 'null' returned null
	at com.sun.el.parser.AstValue.getTarget(AstValue.java:192) [javax.el-3.0.1-b05.jar:]
	at com.sun.el.parser.AstValue.getType(AstValue.java:86) [javax.el-3.0.1-b05.jar:]
	at com.sun.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:201) [javax.el-3.0.1-b05.jar:]
	at org.jboss.weld.el.WeldValueExpression.getType(WeldValueExpression.java:93) [weld-core-impl-2.2.6.Final.jar:2014-10-03 10:05]
	at org.jboss.weld.el.WeldValueExpression.getType(WeldValueExpression.java:93) [weld-core-impl-2.2.6.Final.jar:2014-10-03 10:05]
	at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:98) [jsf-impl-2.2.8-jbossorg-1.jar:]
	... 41 more

18:16:52,468 SEVERE [javax.enterprise.resource.webcontainer.jsf.context] (default task-5) javax.el.PropertyNotFoundException: /administracao/grupo/PesquisaGrupo.xhtml @31,91 value="#{grupoBean.grupo.nomegrupo}": Target Unreachable, 'null' returned null
	at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
	at org.primefaces.util.ComponentUtils.getConverter(ComponentUtils.java:128)
	at org.primefaces.renderkit.InputRenderer.getConvertedValue(InputRenderer.java:171)
	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1045)
	at javax.faces.component.UIInput.validate(UIInput.java:975)
	at javax.faces.component.UIInput.executeValidate(UIInput.java:1248)
	at javax.faces.component.UIInput.processValidators(UIInput.java:712)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1260)
	at javax.faces.component.UIForm.processValidators(UIForm.java:253)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1260)
	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1260)
	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195)
	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:63)
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
	at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76)
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166)
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:197)
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:759)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
Caused by: javax.el.PropertyNotFoundException: Target Unreachable, 'null' returned null
	at com.sun.el.parser.AstValue.getTarget(AstValue.java:192)
	at com.sun.el.parser.AstValue.getType(AstValue.java:86)
	at com.sun.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:201)
	at org.jboss.weld.el.WeldValueExpression.getType(WeldValueExpression.java:93)
	at org.jboss.weld.el.WeldValueExpression.getType(WeldValueExpression.java:93)
	at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:98)
	... 41 more

Espero ter exposto de forma bem clara o que fiz para faciltar sua analise,
Desde ja muito obrigado.

J

Posso estar errado… mas parece coisa simples ai…

Nessa clase… “Grupo”… que voce chama “Grupo grupo”… tem um getNomegrupo()? kk
Qualquer coisa posta ela ai…

18:16:52,389 WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (default task-5) /administracao/grupo/PesquisaGrupo.xhtml @31,91 value="#{grupoBean.grupo.nomegrupo}": Target Unreachable, 'null' returned null: javax.el.PropertyNotFoundException: /administracao/grupo/PesquisaGrupo.xhtml @31,91 value="#{grupoBean.grupo.nomegrupo}": Target Unreachable, 'null' returned null  

18:16:52,468 SEVERE [javax.enterprise.resource.webcontainer.jsf.context] (default task-5) javax.el.PropertyNotFoundException: /administracao/grupo/PesquisaGrupo.xhtml @31,91 value="#{grupoBean.grupo.nomegrupo}": Target Unreachable, 'null' returned null

Se tudo isso tiver certo…
No botão… você chama o update com update="@form"… tente apenas updade=“grupoTable”… se o intuido do “pesquisar” for popular a tabela com os registros…

Abc…

I

Está faltando o campo nomegrupo na entidade Grupo.
Repare que tem diferenca entre nomeGrupo e nomegrupo

N

Colegas,
não entendi a referencia nomeGrupo que voces fizeram, olha a minha glasse model.java

import static javax.persistence.EnumType.STRING;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotBlank;

import com.agenciafretebem.tipo.StatusEntidade;

@Entity
@Table(name="grupo")
public class Grupo implements Serializable {
	private static final long serialVersionUID = 1L;
	
	@Id
	@SequenceGenerator(name="SEQ_GRUPO", sequenceName="SEQ_GRUPO_ID", allocationSize=1) 
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="SEQ_GRUPO")	
	@Column(name="idgrupo")
	private Integer idgrupo;
	

	@NotBlank
	@Column(length=100)
	private String nomegrupo;
	
	
	@NotBlank
	@Column(columnDefinition="text")
	private String descricao;
	

	@NotBlank
	@Column(name="tipoAcesso")
	private String tipoAcesso;

	@NotNull
	@Enumerated(STRING)
	private StatusEntidade ativo;
	
	@OneToOne(mappedBy="grupo",cascade=CascadeType.ALL)	
	private Usuario usuario;
	
	

	public Grupo() {
	}

	public Integer getIdgrupo() {
		return idgrupo;
	}

	public void setIdgrupo(Integer idgrupo) {
		this.idgrupo = idgrupo;
	}



	public String getNomegrupo() {
		return nomegrupo;
	}

	public void setNomegrupo(String nomegrupo) {
		this.nomegrupo = nomegrupo;
	}



	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	
	
	

	public String getTipoAcesso() {
		return tipoAcesso;
	}

	public void setTipoAcesso(String tipoAcesso) {
		this.tipoAcesso = tipoAcesso;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public StatusEntidade getAtivo() {
		return ativo;
	}

	public void setAtivo(StatusEntidade ativo) {
		this.ativo = ativo;
	}

	
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((idgrupo == null) ? 0 : idgrupo.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Grupo other = (Grupo) obj;
		if (idgrupo == null) {
			if (other.idgrupo != null)
				return false;
		} else if (!idgrupo.equals(other.idgrupo))
			return false;
		return true;
	}	

}
A

Acho que vc precisa inicializar seus objetos la no bean antes de tentar acessa-los na view, não?

N

Poderia dar uma dica de como faria isso?

A

Inicializar, jovem. Dar um valor inicial.

private GrupoService grupoService = new GrupoService();    
    private Grupo grupo = new Grupo();      
    private List<Grupo> listaGrupo = new ArrayList<Grupo>();

Parece que vc esta numa tentativa de acessar uma referência nula.
Vê ai se resolve.

Criado 10 de março de 2015
Ultima resposta 17 de mar. de 2015
Respostas 8
Participantes 4