Escrever scriptlet na resposta de um servlet

1 resposta
R

Fala, galera! Tranquilidade?

Eu tenho um servlet que, na resposta, precisa gerar um link cujo atributo “onclick” seja um scriptlet, uma chamada ao método “session.setAttribute”.

O problema é que o servlet escreve o scriptlet como texto HTML. Aí vai a parte do código onde estou com o problema:

//(...)
                origensFilhas += "      <a href=\"javascript:selecionaOrigem(" + origem.getIdOrigem() + ");\" "
                                      + "id=\"origemSelecionada" + origem.getIdOrigem() + "\" "
                                      +    "class=\"origemSelecionada\" "
                                      + "onclick='<%session.setAttribute(\"idOrigemSelecionado\"," + origem.getIdOrigem() + ");%>'>" + "\n"
                                      + "          " + origem.getNome() + "\n" 
                                      + "      </a>";
                origensFilhas += "    </td>" + "\n";
                origensFilhas += "</tr>" + "\n";
                 
            }
           
            response.setContentType("text/html; charset=UTF-8");
            response.getWriter().write(origensFilhas);
        } catch ( //(...)

A saída exibida pelo console do navegador é essa:

Já tentei envolver o método setAttribute() usando a tag <jsp:scriptlet></jsp:scriptlet> na String de resposta (variável “origensFilhas”); já tentei envolver a chamada ao método em uma outra variável String que era concatenada ao conteúdo da variável “origensFilhas”, mas… sem sucesso. Alguém pode ajudar, por favor?

Obrigado!

1 Resposta

B

Boa tarde,

Você está esperando que o java se comporte como javascript.

Coloque javascript nessa function e ai sim, dentro desta function js, escreva o código que você deseja.

Criado 25 de abril de 2016
Ultima resposta 25 de abr. de 2016
Respostas 1
Participantes 2