Problema com uso do CommandLink

0 respostas
V

Pessoal, estou com uma dificuldade e não entendo onde estou errando, preciso realizar uma busca (lista) buscando apenas pelo código de um campo.
Mas ao tentar abrir o jsf ele já me apresenta o erro:

Not all named parameters have been set: [cod_experimento] [select u from Tratamento u where u.cod_experimento = :cod_experimento]

Como se o código não estivesse sendo setado ou tivesse nulo, entretando removendo a impressão da listagem, o link aparece normalmente.

Vejam os meus códigos:
Experimento_busca.xhtml

<h:form id="listagem">
            <h:dataTable value="#{experimentoBean.buscarPorNome}" var="experimento" >
                <h:column>
                    <f:facet name="header">Nome</f:facet>
   
                    
                        <h:commandLink value="#{experimentoBean.selecionado.cod_experimento}" action="#{tratamentoBean.buscarPorExperimento}" immediate="true">  
                            <f:param value="#{experimentoBean.selecionado.cod_experimento}" name="cod_experimento"/>    
                        </h:commandLink>                      
                </h:column>
                
                 <h:column>
                    <f:facet name="header">Quant Tratamento</f:facet>
                    #{experimentoBean.selecionado.quantTratamento}
                        
                 </h:column>
                
                <h:column>
                    <f:facet name="header">Responsavel</f:facet>
                    #{experimentoBean.selecionado.responsavel}
                </h:column>
            </h:dataTable>
            
            <h:dataTable value="#{tratamentoBean.buscarPorExperimento}" var="tratamento" rendered="#{!empty tratamentoBean.buscarPorExperimento}">
                <h:column>
                    <f:facet name="header">Nome</f:facet>
                    <h:outputText value="#{tratamento.descricao_trat}"/>
                </h:column>

            </h:dataTable>            
        </h:form>

A última datatable que apresenta erro, se remover aparece o link, mas também não apresenta o resultado da consulta.

No meu Bean:

@ManagedBean(name = "tratamentoBean")
@RequestScoped
public class TratamentoBean {
    private Tratamento selecionado = new Tratamento();
    private List<Tratamento> lista;
    private List<Tratamento> buscarPorExperimento;    
    private Integer cod_experimento;    
    private String codigo;

        
    public List<Tratamento> getBuscarPorExperimento() {
        this.codigo = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("cod_experimento");
        this.cod_experimento = (codigo == null || codigo.trim().length() == 0) ? 0 : Integer.parseInt(codigo);        
        TratamentoRN tratamentoRN = new TratamentoRN();
        this.buscarPorExperimento = tratamentoRN.buscarPorExperimento(cod_experimento);

        return buscarPorExperimento;
    }

Por favor me ajudem, não sei onde está o erro.

Criado 30 de outubro de 2013
Respostas 0
Participantes 1