Migrar de Scriptlets para JSTL

4 respostas
wagne23

Tenho uma jsp que carrega os dados de um usuário, por exemplo, para a edição e estou usando scriplets então faço assim:

Aqui recupero o usuario:

<%String id = request.getParameter("id");
     FacadeUsuario fu = new FacadeUsuario();
     Usuario u = fu.pesquisaUsuarioPorId(Integer.parseInt(
%>

Então coloco o usuario no formulário assim:

<table> <tr> <td>Nome:</td> <td><input type="text" name="nome" value="<%=u.getNome()%>"/></td> </tr> ...

Então pra mudar pra JSTL eu tentei o seguinte

<c:set var="id" value="${param.id}"/> //declaro uma variavel id e pego o id do parametro
<jsp:useBean id="fu" class="facade.FacadeUsuario" /> // declaro a minha facade

Ai vem o problema: como eu chamo o método pesquisaUsuarioPorId() da facade e passo o id como parâmetro pro método?

4 Respostas

C

Eu acho que seria melhor você separar a busca das informações da camada de visualização, você poderia fazer uma Servlet que busca as informações na facade, e depois adiciona o resultado como um atributo do request, e depois basta fazer um foward para a pagina jsp (jstl) que vai exibir as informações.

Flw.

johnny_quest

Você está no caminho correto, mas somente trocar seu código Scriptlet por código JSTL não é suficiente.

Na verdade você somente estaria trocando a linguagem no seu JSP de scriptlet para JSTL, mas ainda a sua lógica ficaria no JSP
e não poderia ser reutilizada em outras páginas JSP, diminuindo a flexibilidade e segurança de seu sistema.

Eu te indicaria a implementar tal comportamento em uma Tag File, e dentro de tal arquivo sim utilizar as tags JSTL.
Com isso você poderia aproveitar tal tag em diversas páginas e poderia tirar a lógica de sua página aumentando a segurança.

P

Não coloque codigo java no jsp, estude a apostila da caelum e veja como são as boas praticas no devenvolvimento java pra web.

wagne23

Obrigado pela ajuda de todos, na verdade isso é um projeto para um trabalho na faculdade, normalmente eu uso hibernate, struts2 ou jsf, spring, entre outros, mas na faculdade a principio tem que ser algo mais basico, tipo jdbc e jsp’s então eu montei tudo com scriplets, dai eu pensei em mudar os scriplets para jstl, inclusive fui buscar conteudo na apostila da caelum fj21 que da uma boa explanada no assunto mas ainda sim fiquei com essa duvida.

Vou estudar a sugestão do cvinicius que me parece mais simples para o caso, se alguem tiver mais alguma sugestão fique a vontade de compartilhar.

johnny quest, você poderia dar um exemplo de criação dessa tag? Achei bem interessante a ideia.

Criado 25 de março de 2011
Ultima resposta 25 de mar. de 2011
Respostas 4
Participantes 4