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.
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.
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.