2
respostas

Duvida sobre o html, e passar parametros nele

VI na video aula, o professor passando um parametro no metodo dentro no meu html.

Eu tenho uma aplicação em tempo real e em produção, é possivel eu usar algo parecido com isso? Porque tentei aqui e o resultado foi negativo....

<p:column headerText="Imprimir" width="8%">
                                    <p:commandButton icon="ui-icon-print" title="Imprimir" 
                                     actionListener="#{AvaliacaoFisicaBean.imprimirBioimpedancia(AvaliacaoFisicaBean.bioimpedancia)}"/>
                                </p:column>

é possivel? Porque quando passo esse parametro não me chama o construtor que eu chamei para teste...

É possivel passar o bioimpendancia pelo jeito que tentei?

Porque quando passo assim, e chamou meu metodo.

public void imprimirBioimpedancia(Bioimpedancia bio) {
        System.out.println(bio);
        RequestContext context = RequestContext.getCurrentInstance();
        String image_path = AutenticacaoMB.loadImageAcademia(academia);
        String caminhoReport = "";
        try {
            caminhoReport = Faces.getRealPath("/reports/avaliacao/avaliacao_bioimpedancia.jasper");    
            context.execute("window.open('" +Faces.getRequestContextPath()
                    + "/pages/pdf.xhtml?faces-redirect=true"
                    + "&jrxml=" + URLEncoder.encode(caminhoReport, "UTF-8") + ""
                    + "&idAcademia="+academia.getIdAcademia()
                    + "&idBio="+bio.getId()
                    + "&caminhoimagem="+URLEncoder.encode(image_path, "UTF-8")+"')");

    }catch(Exception e){
        e.printStackTrace();
    }
 }

E debuguei o codigo e veio tudo null.

Bioimpedancia [id=null, gordura=null, musculoEsqueletico=null, massaMuscular=null, gorduraVisceral=null, metabolismoBasal=null, idadeCorporal=null, aluno=Aluno[id=0]]
2 respostas

Oi Michel, você até pode colocar ali um parâmetro, mas precisa ser algo disponível no contexto do botão... nesse caso você referenciou diretamente um bean e ele ainda tem os valores nulos mesmo.

Certo Alberto, tenho uma outra coisinha que eu percebi, o contextPath, é o nome da nossa aplicação? VI em varios momento passando ele como parametro, mais não vi nenhum momento explicando oque necessariamente ele faz, um outra coisa, Como está usando o html, com bootstrap, vi que foi necessario passar uma outra taglib jsf alguma coisa, não seria melhor usar alguma tag pronta para isso já? tipo.

<h:commandButton e não so o button, não seria uma praticidade e tanto?