Erro SEVERE: Error Rendering View[/paginas/livro/listagem.xhtml]

1 resposta
joaopaulofranco
código xhtml
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
    "http://www.w3.org/TR/html4/loose.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:c="http://java.sun.com/jstl/core"
	xmlns:t="http://myfaces.apache.org/tomahawk"
	xmlns:s="http://jboss.com/products/seam/taglib"
	xmlns:rich="http://richfaces.org/rich"
	template="/templates/template.xhtml">
	
	<ui:define name="corpo">
		<h:form>
			<a4j:commandLink value="Novo" action="#{livroController.novo}">
			</a4j:commandLink>
			<h:messages infoStyle="color: green" />
			<div align="center"><rich:tabPanel width="60%" height="100">
				<rich:tab align="center" label="Livro">
					<table width="100%" align="center">

						<tr>
							<td>Autor:
							<div class="campoObrigatorio">*</div>
							</td>

							<td><h:selectOneMenu 
								value="#{AutorController.autor.nome}"  size="80" /></td>
						</tr>


						<tr>
							<td>Titulo:
							<div class="campoObrigatorio">*</div>
							</td>

							<td><h:inputText 
								value="#{livroController.filtro.titulo}" size="80" /></td>
						</tr>
	
						
						
						
					</table>
					
					<table align="center">
						<tr>
							<td><a4j:commandButton styleClass="buttonAdicionar"
								value="Buscar" action="#{livroController.filtrar}" >
							</a4j:commandButton></td>
						</tr>
					</table>
				</rich:tab>
			</rich:tabPanel></div>
			<br />

			<a4j:outputPanel ajaxRendered="true">
				<rich:dataTable align="center" width="60%" id="listFinanciamentos"
					rows="10" onRowMouseOver="this.style.backgroundColor='#CCCCCC'"
					onRowMouseOut="this.style.backgroundColor='#{a4jSkin.rowBackgroundColor}'"
					rowClasses="odd-row,even-row" rendered="true" columnClasses="col"
					var="row">
					<f:facet name="header">
						<rich:columnGroup>
							<rich:column style="text-align:center">
								<h:outputText value="Tipo" />
							</rich:column>

						</rich:columnGroup>
					</f:facet>
				</rich:dataTable>

				<rich:dataTable align="center" width="60%" id="tabela" rows="10"
					onRowMouseOver="this.style.backgroundColor='#CCCCCC'"
					onRowMouseOut="this.style.backgroundColor='#{a4jSkin.rowBackgroundColor}'"
					rowClasses="odd-row,even-row" rendered="true" columnClasses="col"
					var="row" value="#{livroController.livros}">
					<f:facet name="header">
						<rich:columnGroup>



							<rich:column style="text-align:center">
								<h:outputText styleClass="headerText" value="Título" />
							</rich:column>
							<rich:column style="text-align:center">
								<h:outputText styleClass="headerText" value="Cativo" />
							</rich:column>
							<rich:column style="text-align:center">
								<h:outputText styleClass="headerText" value="Emprestímo" />
							</rich:column>
							<rich:column style="text-align:center">
								<h:outputText styleClass="headerText" value="Disponível" />
							</rich:column>
  							<rich:column/>
						</rich:columnGroup>
					</f:facet>



					<rich:column style="text-align:center">
						<h:outputText value="#{row.titulo}" />
					</rich:column>
					
					<rich:column style="text-align:center">
						<h:outputText value="#{row.cativo}" />
					</rich:column>   
					
					<rich:column style="text-align:center">
						<h:outputText value="#{row.emprestimo}" />
					</rich:column>
					<rich:column style="text-align:center">
						<h:outputText value="#{row.disponivel}" />
					</rich:column> 


					<rich:column>
						<h:commandLink id="commandEditar" styleClass="buttonEditar"
							action="#{livroController.editar}" value="">
							<f:setPropertyActionListener value="#{row}"
								target="#{livroController.tipo}" />
						</h:commandLink>
					</rich:column>

					<f:facet name="footer">
						<rich:columnGroup>

							<rich:column style="text-align:center" colspan="8">
								<rich:datascroller for="tabela" pageIndexVar="pageIndex"
									pagesVar="pages" id="sc2" maxPages="8" align="right">
									<f:facet name="pages" styleClass="pages">
										<h:outputText value="#{pageIndex} / #{pages}" />
									</f:facet>
									<f:facet name="next">
										<h:outputText value=">" />
									</f:facet>
									<f:facet name="next_disabled">
										<h:outputText value=">" />
									</f:facet>
									<f:facet name="previous">
										<h:outputText value="<" />
									</f:facet>
									<f:facet name="previous_disabled">
										<h:outputText value="<" />
									</f:facet>
								</rich:datascroller>
								<div align="right"><t:dataScroller id="_scroll"
									for="tabela" rowsCountVar="rowsCount"
									firstRowIndexVar="firstRowIndex" lastRowIndexVar="lastRowIndex"
									rendered="true">

								</t:dataScroller></div>
							</rich:column>
						</rich:columnGroup>
					</f:facet>

				</rich:dataTable>
			</a4j:outputPanel>
		</h:form>
	</ui:define>
</ui:composition>
o LivroController é
package controller;


import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;
import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;

import model.Genero;
import model.Livro;
import model.Tipo;

import org.springframework.stereotype.Component;

import dao.CddDAO;
import dao.GeneroDAO;
import dao.IsbnDAO;
import dao.LivroDAO;
import dao.SubTituloDAO;
import dao.TipoDAO;
import dao.TituloDAO;

@Component
public class LivroController implements Serializable {

	private static final long serialVersionUID = 1L;
	Livro livro,livroSelecionado,filtro;
	List<Livro> livros;
	@Resource
	LivroDAO dao;

	List<SelectItem> generos;
	@Resource
	GeneroDAO generoDAO;

	List<SelectItem> tipos;
	@Resource
	TipoDAO tipoDAO;

	static String PAGINA_LISTAGEM = "listarLivros";

	void limpar(){
		livro = new Livro();
		filtro = new Livro();
		livroSelecionado = new Livro();
		livros = new ArrayList<Livro>();
		generos = new ArrayList<SelectItem>();
		tipos = new ArrayList<SelectItem>();
	}

	public LivroController(){
		limpar();
	}
	
	public String novo(){
		limpar();
		return "cadastrarLivro";
	}

	public Livro getLivro() {return livro;}
	public void setLivro(Livro livro) {this.livro = livro;}

	public List<Livro> getLivros() {
		if(livros.size()==0) livros = dao.todos("ace_tit");
		return livros;
	}
	public void setLivros(List<Livro> livros) {this.livros = livros;}

	public List<SelectItem> getGeneros() {
		if(generos.size()==0){
			for(Genero g  :generoDAO.todos("gen_dsc")){
				generos.add(new SelectItem(g,g.getDescricao()));
			}
		}
		return generos;
	}

	public void setGeneros(List<SelectItem> generos) {
		this.generos = generos;
	}

	public List<SelectItem> getTipos() {
		if(tipos.size()==0){
			for(Tipo t : tipoDAO.todos("tac_dsc")){
				tipos.add(new SelectItem(t,t.getNome()));
			}
		}
		return tipos;
	}

	public void setTipos(List<SelectItem> tipos) {this.tipos = tipos;}

	public Livro getLivroSelecionado() {
		return livroSelecionado;
	}


	public Livro getFiltro() {
		return filtro;
	}

	public void setFiltro(Livro filtro) {
		this.filtro = filtro;
	}

	public void setLivroSelecionado(Livro livroSelecionado) {this.livroSelecionado = livroSelecionado;}

	public String listar(){
		limpar();
		return PAGINA_LISTAGEM;
	}

	public void filtrar(){
		livros = dao.findByExample(filtro);
	}

	public String mostrarTituloComTipo(Livro livro){
		StringBuffer titulo = new StringBuffer(livro.getTitulo());
		return titulo.append("(").append(livro.getTipo().getNome()).append(")").toString();
	}

	public void limpaLivroSelecionado(ActionEvent evt){
		livroSelecionado = new Livro();
	}

	public String formataSinopse(String sinopse){
		return sinopse.isEmpty() || sinopse==null ? "Não Informada"  : sinopse;
	}

}
e a classe Livro model é
package model;



import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="tab_ace")
public class Livro implements Serializable  {
	
	@Id
	@Column(name="ace_isn")
	Long id;
	
	@Column(name="ace_tit")
	String titulo;
	
	@Column(name="ace_sub_tit")
	String subtitulo;
	
	@Column(name="ace_not")
	String sinopse;
	
	@Column(name="ace_isbn")
	String isbn;
	
	@Column(name="ace_cdd_cdu")
	String cdd;
	
	@Column(name="ace_cut")
	String cutter;
	
	@Column(name="ace_col_ser")
	String colecao;
	
	@Column(name="ace_qtd_cat")
	Integer cativo;
	
	@Column(name="ace_qtd_emp")
	Integer emprestimo;
	
	@Column(name="ace_qtd_dis")
	Integer disponivel;
	
	@ManyToOne
	@JoinColumn(name="gen_isn")
	Genero genero;
	
	@ManyToOne
	@JoinColumn(name="tac_isn")
	Tipo tipo;

	public Long getId() {return id;}
	public void setId(Long id) {this.id = id;}

	public String getTitulo() {return titulo;}
	public void setTitulo(String titulo) {this.titulo = titulo;}
	
	public String getSubtitulo() {return subtitulo;	}
	public void setSubtitulo(String subtitulo) {this.subtitulo = subtitulo;	}
	
	public String getSinopse() {return sinopse;}
	public void setSinopse(String sinopse) {this.sinopse = sinopse;}
	
	public String getIsbn() {return isbn;}
	public void setIsbn(String isbn) {this.isbn = isbn;}
		
	public String getCdd() {return cdd;}
	public void setCdd(String cdd) {this.cdd = cdd;}
	
	public String getCutter() {return cutter;}
	public void setCutter(String cutter) {this.cutter = cutter;}
		
	public String getColecao() {return colecao;}
	public void setColecao(String colecao) {this.colecao = colecao;}
	
	public Genero getGenero() {return genero;}
	public void setGenero(Genero genero) {this.genero = genero;}

	public Tipo getTipo() {return tipo;}
	public void setTipo(Tipo tipo) {this.tipo = tipo;}

	
	
	
	public Integer getCativo() {
		return cativo;
	}
	public void setCativo(Integer cativo) {
		this.cativo = cativo;
	}
	public Integer getEmprestimo() {
		return emprestimo;
	}
	public void setEmprestimo(Integer emprestimo) {
		this.emprestimo = emprestimo;
	}
	public Integer getDisponivel() {
		return disponivel;
	}
	public void setDisponivel(Integer disponivel) {
		this.disponivel = disponivel;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.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;
		Livro other = (Livro) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	
	}
}

o erro dado é esse :
[ SEVERE: Error Rendering View[/paginas/livro/listagem.xhtml]

ajudinha aí???

1 Resposta

joaopaulofranco

o erro na saída é : java.lang.String cannot be cast to java.lang.Integer

Criado 15 de julho de 2011
Ultima resposta 15 de jul. de 2011
Respostas 1
Participantes 1