Jsp: worst practices

Bom, queria ouvir do pessoal que usa as seguintes funcionalidades o motivo pelo qual optaram por isso, por favor. Se possivel, escrever tambem porque colocar logica de negocios (transformacoes de xml) ou camanda de acesso ao bd (sql) ou codigo java avancado (uso comum de scriplet) na pagina jsp e nao em outro lugar.

  • JSTL de jsql
  • JSTL de xml
  • Scriplets

Abraco

Guilherme Silveira

Usei isso em um protótipo que fiz em um dia.

Motivos:
:arrow: era pra ficar pronto em 4 horas (seria exibido numa feira no dia seguinte)
:arrow: se alguém se interessasse pela idéia, o protótipo seria jogado fora e a coisa seria refeita.

Resultado: alguns gostaram mas nenhum cliente investiu, portanto o projeto morreu.

Fala Boaglio, td bem?

Pelo jeito o que eu falei eh tao inutil na pratica que ninguem mencionou algo bom :slight_smile:

Tambem penso como voce, prototipo eh prototipo, eh soh para ver se eh possivel…

Abraco

Guilherme

As tags de sql são uteis em protótipos e programas Q&D em geral. Por mais que MVC e layering seja legal, tem horas que são overkill, quando tudo que você quer é um dump besta em html de uns dados.

Já as de XML não vejo mal em usá-las para transformar xmls e gerar a apresentação. O caso mais simples é você ter um banco xml nativo, vc usa xquery na camada de negocios e entrega o xml resultante para ser processado na view.

E tem outra maneira de ver isso, nada te impede de usar uma tecnologia criada pensando na camada de view para escrever tua camada de negocios quando isso faz mais sentido. Um serviço de transformação de xml, fica mais claro manipular DOM nodes e eventos SAX ou escrever um jsp? No caso de sql, fica mais claro usar jsp o menos possivel, mas com xml acho que não.

As tags de xml são muito mais simples que usar XSLT.

Quanto a scriptlets - é sempre aquela coisa - manutenção de alguma coisa que não podemos refatorar ou que não podemos acrescentar uma tag library, por menor que seja.

O IDEA não suporta refactoring em jsps? E o eclipse com o 3.1 e WTP não deveria permitir o mesmo?

Não que isso alivie o lixo que é código com scriplets