Pessoal, estou tentando listar em um jsf os elementos de uma classe através de um parâmetro enviado por um link de outro jsf.
Mas quando submeto o form já me da o seguinte erro: Nao e possivel criar instancia para a classe
Vejam como estão os meus fontes:
Exprimento_busca.jsf (lista os meus experimentos pelo código - funcionava normalmente até eu inserir o link para instanciar a outra classe Tratamento)
//Aqui eu inseri o codigo do link para outro jsf, vejam que <f:param faz referencia a outra classe a TratamentoBean, que recebe como parametro o cod_experimento, este codigo sera utilizado para chamar todos os Tratamentos que tem como parametro o codigo tratamento igual ao enviado pelo link.
<h:outputLink value="Tratamento_lista.jsf">
<h:outputText value="#{experimentoBean.selecionado.cod_experimento}"/>
<f:param value="#{tratamentoBean.selecionado.cod_experimento}" name="cod_experimento"/>
</h:outputLink>
Tratamento_lista.jsf (lista os Tratamentos que possuem cod_experimento igual ao enviado no jsf anterior)
<h:dataTable value="#{tratamentoBean.buscarPorExperimento}" var="tratamento" >
<h:column>
<f:facet name="header">Nome</f:facet>
#{tratamentoBean.selecionado.descricao_trat}
</h:column>
</h:dataTable>
TratamentoBean.java (Classe que recebe o codigo enviado no primeiro jsf para fazer a busca da lista de Tratamentos)
public class TratamentoBean {
private Tratamento selecionado = new Tratamento();
private List<Tratamento> lista;
//aqui eu deveria receber o codigo do Experimento enviado no primeiro jsf, mas não sei se está vindo mesmo, ou se o valor continua nulo.
String codigo = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("cod_experimento");
//Transformo de String para inteiro
private Integer cod_experimento = Integer.parseInt(codigo);
private List<Tratamento> buscarPorExperimento;
public List<Tratamento> getBuscarPorExperimento() {
TratamentoRN tratamentoRN = new TratamentoRN();
this.buscarPorExperimento = tratamentoRN.buscarPorExperimento(cod_experimento);
return buscarPorExperimento;
}
public void setBuscarPorExperimento(List<Tratamento> buscarPorExperimento) {
this.buscarPorExperimento = buscarPorExperimento;
}
....
....
...
O log apresenta o seguinte erro:
SEVERE: Error Rendering View[/restrito/experimento/Experimento_busca.xhtml]
com.sun.faces.mgbean.ManagedBeanCreationException: Não é possível criar instância para?a classe: financeiro.web.TratamentoBean.
at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:193)
at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:102)
at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
?
?
Caused by: java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:454)
at java.lang.Integer.parseInt(Integer.java:527)
?
MonitorFilter::WARNING: the monitor filter must be the first filter in the chain.
Hibernate:
/* select
u
from
Experimento u
where
u.nome_experimento = :nome_experimento */ select
experiment0_.cod_experimento as cod1_4_,
experiment0_.cod_area as cod8_4_,
experiment0_.data_criacao as data2_4_,
from
Experimento experiment0_
where
experiment0_.nome_experimento=?
Pessoal, ainda sou novato em Java, etc. Já bati muita cabeça nesses dias e agradeço muito qualquer ajuda.
Abraços