Error ao abrir minha página xhtml no JSF com primeFaces

0 respostas
java
Dayson_Rodrigues

Bom galera, estou desenvolvendo um sistema em JSF com PrimeFaces e estou usando o Hibernate com JPA2, quero fazer uma consulta usando o critéria e não estou conseguindo.
Aparece um Erro: Segue meu código.

*Minha Interface:

`package repository;

import java.util.Date;
import java.util.List;

import model.Funcionario;
import model.Servico;

public interface Servicos {

public List<Servico> listar();

public List<Servico> filtrarServico(Date dataInicio,Date dataFim);

}
`

Meu DAO

`package repository.DAO;

import java.util.Date;
import java.util.List;

import org.hibernate.Session;

import org.hibernate.criterion.Order;

import org.hibernate.criterion.Restrictions;
import model.Funcionario;

import model.Servico;

import repository.Servicos;

/**

  • Classe que implementa a Interface Serviços.
  • @author dayson

*/
public class ServicoDAO implements Servicos {

private Session session;

public ServicoDAO(Session session) {
	this.session = session;
}

@SuppressWarnings("unchecked")
@Override
public List<Servico> filtrarServico(Date dataInicio, Date dataFim) {
			
	return session.createCriteria(Servico.class)
		   .add(Restrictions.between("data", dataInicio, dataFim)).list();
}

}
`
Minha Regra de Negócio
OBS: Servico <- é minha classe com meus Getters e Setters.

`package service;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

import model.Servico;
import repository.Servicos;

/**

  • Classe, regra de negócio de Serviço
  • @author dayson

*/
public class GestaoServicos {

private Servicos servicos;


private List<Servico> listaServico = new ArrayList<Servico>();

public GestaoServicos(Servicos servicos) {
	this.servicos = servicos;
}

public List<Servico> filtrarServico( Date dataInicio,Date dataFim)throws RegraNegocioException{
	try{
		return listaServico = servicos.filtrarServico(dataInicio,dataFim);
	}
	catch(Exception e){
		throw new RegraNegocioException("Não foi possível Pesquisar");
	}
}


public List<Servico> getListaServico() {
	return listaServico;
}

}
`
Meu Bean

`package view;

import java.io.Serializable;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;
import javax.annotation.PostConstruct;

import javax.faces.application.FacesMessage;

import javax.faces.bean.ManagedBean;

import javax.faces.bean.ViewScoped;
import model.Servico;

import repository.Servicos;

import service.GestaoServicos;

import service.RegraNegocioException;

import util.MensagemUtil;

import util.Repositorios;

/**

  • Classe para consultar Serviço e exclui serviço.
  • @author dayson

*/
@ManagedBean
@ViewScoped
public class ConsultaServico implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = 1L;

private List<Servico> listServico = new ArrayList<Servico>();

private Repositorios repositorio = new Repositorios();
private Servico servicoSelecionado;
private Date dataInicio;
private Date dataFim;

	
GestaoServicos gestaoServicos = new GestaoServicos(repositorio.getServico());

@PostConstruct
public void inicializar() {

	Servicos servicos = repositorio.getServico();
	listServico = servicos.listar();

}


public List<Servico> filtrarSevico(){
	try {
		MensagemUtil.AdicionaMensagem(FacesMessage.SEVERITY_INFO, "Serviço pesquisado");

		return listServico = gestaoServicos.filtrarServico(dataInicio,dataFim);
		
	} catch (RegraNegocioException e) {
		MensagemUtil.AdicionaMensagem(FacesMessage.SEVERITY_ERROR, "Não foi possível pesquisar o serviço");
		return null;
	}
	
}


public List<Servico> getListServico() {
	return listServico;
}

public Servico getServicoSelecionado() {
	return servicoSelecionado;
}

public Date getDataInicio() {
	return dataInicio;
}

public void setDataInicio(Date dataInicio) {
	this.dataInicio = dataInicio;
}

public Date getDataFim() {
	return dataFim;
}

public void setDataFim(Date dataFim) {
	this.dataFim = dataFim;
}

}
`

Meu xhtml

`<ui:composition template="/template/layoutpadrao.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:componentevalor="http://java.sun.com/jsf/composite/componetesStudio"
xmlns:componentedata=“http://java.sun.com/jsf/composite/componetesStudio”>

<ui:define name="titulo"> consulta serviço </ui:define>


<h:outputStylesheet library="css" name="sistema.css" />

<ui:define name="Botao">
	<h:form>
		<ui:include src="/template/layoutCabecalho.xhtml" />
	</h:form>
	
</ui:define>

<ui:define name="corpo">
	<h:form>
		<br />
		<p:growl id="messagens"/>

		<br />
		<p:toolbar styleClass="letra">
			<p:toolbarGroup>
				<p:commandButton value="Pesquisar" action="#{consultaServico.filtrarSevico()}" />
			</p:toolbarGroup>

			<p:toolbarGroup align="right">
				<p:commandButton value="Listar todos" />				
			</p:toolbarGroup>			
		</p:toolbar>

		<br/>
		<p:accordionPanel>
		<p:tab title="Filtrar Serviço">
				<p:panelGrid columns="2">
					<p:outputLabel value="Data" id="data"/>
					<h:panelGroup>
					 	<p:calendar value="#{consultaServico.dataInicio}" id="data" pattern="dd/MM/yyyy" 
									size="9" locale="pt" effect="fold"/>

						a
						<p:calendar  value="#{consultaServico.dataFim} " pattern="dd/MM/yyyy" size="9" 
									 locale="pt" effect="fold" />
					</h:panelGroup>

					<p:outputLabel value="Funcionario" for="func" />
					<p:selectOneMenu value="#{cadastroServico.entradaServico.funcionario}"
									 id="func" rendered="true" label="funcionario">
					
					<f:selectItem  itemLabel="--Selecione--" noSelectionOption="true" />
					<f:selectItems value="#{cadastroServico.listaFuncionario}" var="funcionario" 
								   itemValue="#{funcionario}" itemLabel="#{funcionario.funcNome}"/>
					</p:selectOneMenu>
				</p:panelGrid>
			</p:tab>
		</p:accordionPanel>
		<br/>
		
		<p:accordionPanel>
		<p:tab title="Base de Dados">
			<p:dataTable border="1" value="#{consultaServico.listServico}" 
					 var="obj" width="100%" styleClass="cabecalho"
					 sortMode ="multiple" paginator="true"
					  emptyMessage="Nenhum serviço encontrado" rows="30" id="tableservico"
					 rowsPerPageTemplate="30,50,60,80" paginatorPosition="top">


			<f:facet name="header"> Controle de Serviços de Funcionários</f:facet>

			<p:column headerText="Cliente" sortBy="#{obj.nome}" width="200">
				<div style="text-align: center;">
					<p:outputLabel value="#{obj.nome}" id="campo_nome" />
				</div>	
			</p:column>

			<p:column headerText="Descrição" width="30%">
				<div style="text-align: center;">
					<p:outputLabel value="#{obj.descricao}" id="campo_descricao"/>
				</div>
			</p:column>

			<p:column headerText="Valor" sortBy="#{obj.valor}" width="100" >
				<div style="text-align: center;">
					<componentevalor:outputcurrency value="#{obj.valor}" id="campo_valor" />
				</div>	
			</p:column>

			<p:column headerText="Data" sortBy="#{obj.data}" width="17%">
				<div style="text-align: center;">
					<componentedata:outputData valor="#{obj.data}" id="campo_data"/>
				</div>
			</p:column>

			<p:column headerText="Funcionario" sortBy="#{obj.funcionario.funcNome}" width="10%">
				<div style="text-align: center;">
					<h:outputLabel value="#{obj.funcionario.funcNome}" id="campo_funcionario"/>
				</div>
			</p:column>

			<p:column headerText="Alterar" width="70">
				<div style="text-align: center;">
					<p:button outcome="cadastroservico" icon="ui-icon-pencil">
						<f:param name="alteracao" value="#{obj.codigo}" />
					</p:button>
				</div>
			</p:column>

			<p:column headerText="Excluir" width="70">
				<div style="text-align: center;">
					<p:commandButton action="#{consultaServico.excluir()}" icon="ui-icon-trash" update="tableservico" >
						<f:setPropertyActionListener value="#{obj}" target="#{consultaServico.servicoSelecionado}" />
						<p:confirm header="Exclusão de Serviço" message="Deseja excluir este serviço selecionado?" icon="ui-icon-alert" />
					</p:commandButton>
				</div>
			</p:column>
		</p:dataTable>
	</p:tab>
</p:accordionPanel>
	
		<p:confirmDialog global="true">
			<p:commandButton value="sim" styleClass="ui-confirmdialog-yes" icon="ui-icon-check"/>			
			<p:button value="não" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
		</p:confirmDialog>
		
	</h:form>
</ui:define>

</ui:composition>`

Meu Error

javax.el.PropertyNotFoundException: /consultaservicos.xhtml @47,47 value="#{consultaServico.dataInicio}": Property 'dataInicio' not found on type view.ConsultaServico at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:111) at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) at javax.faces.component.UIOutput.getValue(UIOutput.java:174) at javax.faces.component.UIInput.getValue(UIInput.java:291) at org.primefaces.component.calendar.CalendarUtils.getValueAsString(CalendarUtils.java:47) at org.primefaces.component.calendar.CalendarRenderer.encodeEnd(CalendarRenderer.java:60) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312) at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856) at org.primefaces.component.panelgrid.PanelGridRenderer.encodeDynamicBody(PanelGridRenderer.java:131) at org.primefaces.component.panelgrid.PanelGridRenderer.encodeTableBody(PanelGridRenderer.java:102) at org.primefaces.component.panelgrid.PanelGridRenderer.encodeTableLayout(PanelGridRenderer.java:65) at org.primefaces.component.panelgrid.PanelGridRenderer.encodeEnd(PanelGridRenderer.java:37) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) at org.primefaces.component.accordionpanel.AccordionPanelRenderer.encodeTab(AccordionPanelRenderer.java:227) at org.primefaces.component.accordionpanel.AccordionPanelRenderer.encodeTabs(AccordionPanelRenderer.java:157) at org.primefaces.component.accordionpanel.AccordionPanelRenderer.encodeMarkup(AccordionPanelRenderer.java:103) at org.primefaces.component.accordionpanel.AccordionPanelRenderer.encodeEnd(AccordionPanelRenderer.java:76) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863) at javax.faces.render.Renderer.encodeChildren(Renderer.java:176) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at util.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:38) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: javax.el.PropertyNotFoundException: Property 'dataInicio' not found on type view.ConsultaServico at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:268) at javax.el.BeanELResolver$BeanProperties.access$300(BeanELResolver.java:221) at javax.el.BeanELResolver.property(BeanELResolver.java:355) at javax.el.BeanELResolver.getValue(BeanELResolver.java:95) at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176) at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) at org.apache.el.parser.AstValue.getValue(AstValue.java:169) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184) at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109) ... 62 more

Criado 20 de fevereiro de 2016
Respostas 0
Participantes 1