dataTable retornando uma NumberFormatException

7 respostas
ArthurTurtle

Fala galera do GUJ,

Eu estou recebendo uma NumberFormatException, e não to conseguindo resolvela, a exceptio ta assim:

java.lang.NumberFormatException: For input string: "nome"
	at java.lang.NumberFormatException.forInputString(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at java.lang.Integer.parseInt(Unknown Source)
	at javax.el.ArrayELResolver.coerce(ArrayELResolver.java:166)
.............
o meu DAO
public List<Object> listaTodos(String aluno) {
		System.out.println(aluno);
		EntityManager em = new JPAUtil().getEntityManager();
		Query query = em
		.createQuery("select nome, audio, dia, status, recado, andamento, termino, liberado, caminho " +
				"from "+aluno+"");
		List<Object> lista= query.getResultList();
		em.close();
		return lista;
	}
e o meu Bean:
public List<Object> getLicaos(){
		String loginAluno= this.aluno.getLogin();
		System.out.println(aluno);
		System.out.println("Construindo lista...");
		try {
			licaos =new LoginAlunoDAO().listaTodos(loginAluno);
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	return licaos;
}
e a lista:
<p:dataTable   value="#{loginBean.licaos}" var="licao"  cellpadding="5" 
     paginator="true" rows="10" id="notas" style="text-align:center; width:700px;">
    	<p:column >
    		<f:facet name="header">
    			Nome
    		</f:facet>
    		<h:outputLabel value="#{licao.nome}" /> 
    	</p:column>
    	<p:column>
    		<f:facet name="header">
    			Status
    		</f:facet>
    		<h:outputLabel value="#{licao.status}" /> 
    	</p:column>
 
    	<p:column>
    		<f:facet name="header">
    			Marcar
    		</f:facet>
    		<h:commandLink  value="X">
    		<f:setPropertyActionListener target="#{alunoBean.licao}" value="#{licao}"/>
    		
    	  	</h:commandLink>
    	</p:column>
    </p:dataTable>

Alguem tem alguma ideia de o porque ele estar pegando o "nome" como um int??

7 Respostas

drsmachado

Camarada, sabe o que significa esta exception?

java.lang.NumberFormatException: For input string: "nome"

Que números pretende extrair da palavra nome?

Você precisa rever o código, está invertendo algo (ou fez CTRL + C / CTRL + V) e não alterou o nome da variável que receberia o número, ou declarou aluno como sendo int ou Integer…

ArthurTurtle

drsmachado,

sim eu sei oque significa, no banco de dados esta declarado como “varchar” o campo “nome” e na minha classe esta:

private String nome;

não esta nada em tipo numerico, eu não sei o porque dele estar tentando converter essa string para numero.

drsmachado

E o entity?

ArthurTurtle
@Entity
public class Licao{
	
	@Id
	@GeneratedValue
	private Long id;
	
	private String nome;
	
	private String audio;
..........

quando eu falo que o “dataTable retornando uma NumberFormatException” eh a lista esta cendo feita corretamente apartir do banco de dados e na hora que o dataTable pega esses valores que ele na fazendo algo que não deveria ou sei la…

R
ArthurTurtle:
@Entity
public class Licao{
	
	@Id
	@GeneratedValue
	private Long id;
	
	private String nome;
	
	private String audio;
..........

quando eu falo que o "dataTable retornando uma NumberFormatException" eh a lista esta cendo feita corretamente apartir do banco de dados e na hora que o dataTable pega esses valores que ele na fazendo algo que não deveria ou sei la...

ArthurTurtle,

Você conseguiu resolver esta questão? Também está acontecendo comigo...

L

ce conferiu no debug que o que vem do banco ta setando o objeto corretamente?

de qualquer sorte, posta o codigo pra gente pode ver, o bean e a view

R

leandropbahia:
ce conferiu no debug que o que vem do banco ta setando o objeto corretamente?

de qualquer sorte, posta o codigo pra gente pode ver, o bean e a view

O método estava usando NativeQuery. Reescrevi para usar Criteria, então passou a retornar o tipo certo ao invés de uma lista de Object[] e funcionou perfeitamente.

Valeu!!

Criado 28 de junho de 2011
Ultima resposta 16 de ago. de 2012
Respostas 7
Participantes 4