Opiniões: JSTL x Tags do Framework

[quote=Maurício Linhares]O Struts tinha (ainda tem, mas ninguém mais usa) uma expression language que era só clocar “.” (pontos) pra acessar as propriedades, porque você não faz assim também Sérgio?
[/quote]

Isso é o que o EL do JSP faz, não? Pode ser também. Melhor do que dois tags, um dentro do outro, né ? Se bem que dois tags criam dois contextos (um com o objeto user e outro com o objeto name por exemplo) e isso pode ser útil caso vc queira fazer mais coisas com esses contextos.

[quote=Mauricio]
Nops, a grande vantagem da EL é poder ser colocada diretamente dentro do HTML e não deixar você chamar métodos (e isso as vezes é uma desvantagem, quando lidamos com classes antigas ou que não seguem a especificação JavaBean), apenas acessar propriedades JavaBeans.[/quote]

Só uma observacao, Mauricio. Isso não funciona com JSTL/EL:

<h4>${user.username}</h4>

Tem que ser assim:

<h4><c:out value="${user.username}" /></h4>

Ou seja, vc tem que usar EL dentro das tags de JSTL, certo?

Não, EL foi feita pra ser usada fora das tags :mrgreen:

Eu realmente não sei porque o pessoal usa <x:out/> pra fazer isso.

Pelo menos desde que eu aprendi a usar isso eu uso assim.

Ah, EL pode ser usada também pra fazer comparações que retornam um boolean.

[quote=saoj]Ruby é melhor!!!

Mas a questão aqui é comparar com JSTL. Voltando ao mundo Java… :wink:[/quote]

Nao entendi pq vc vai basear a sua performance em cima de um negocio que ja foi dito que eh ruim. Voce devia estar tentando bater o Rails, nao fazer uma JSTL que nao fede. :?

[quote=Maurício Linhares]Não, EL foi feita pra ser usada fora das tags :mrgreen:

Eu realmente não sei porque o pessoal usa <x:out/> pra fazer isso.

Pelo menos desde que eu aprendi a usar isso eu uso assim.[/quote]

[color=red][size=18]Mas não funciona !!! Eu testei aqui !!! Como faz isso funcionar, se é que vc não está enganado ???[/size][/color]

Rapaz, eu realmente não imagino porque não funciona aí, mas desde que eu comecei a trabalhar com JSPs eu faço assim (Servlet 2.4 e JSP 2.0).

Você tá usando um servlet container compatível com essas especificações? Tem algum SCWCD 1.4 por aqui?

Sim, to usando a ultima versao de tudo!

Putz, agora quero fazer isso funcionar aqui…

Vou perguntar ao Google…

Agora o Mentawai tem suporte a EL e a JSTL? Oba!

Não vou mais ter que usar uma versao alterada aqui… :smiley: :smiley: :smiley: :smiley: 8) 8) 8) 8)

Outra coisa, agora o menta também tem tags de condicao? que legal!

Um abraço!

Sempre teve, só que antes vc tinha que acessar o output da action assim:

<c:out value="${action.output.user.username}" />

e agora basta assim:

<c:out value="${user.username}" />

Vc pode escolher usar só JSTL com EL, usar JSTL junto com as tags do mentawai, ou usar só as tags do mentawai, quando possível.

Tem a <mtw:if>, que serve apenas para checar equivalência, mas nada te impede de usar a <c:if> do JSTL.

Agora vc pode criar suas próprias tags condicionais de maneira muita fácil extendendo a classe org.mentawai.tag.util.ConditionalTag.

Checklist para fazer EL funcionar em qualquer canto:

-Está usando um container com servlets 2.4 e JSP 2.0? (ex: tomcat 5)
-Está escrevendo uma aplicação web para versão 2.4 de servlets? (olhe o seu web.xml)

Aqui eu tenho java 1.5, tomcat 5.5 e meu web.xml começa assim:

Funciona perfeitamente.

sergio, por que eu não deveria usar um framework já bem estabelecido, como JSF, Tapertry ou Wicket, que permitem desenvolvimento componentisado e estremamente produtivo no lugar do seu?

louds,

Eu preciso desenvolver uma aplicacao web, e eu nunca usei nenhum desses frameworks que você citou. Só sei usar o WebWork, mas não sou muito fã de xmls…

Aí eu escolho o mentawai!

Framework mvc é uma questao de gosto (a não ser que o seu chefe te obrigue a usar algum, né…). Quanto mais opcoes melhor!

O saoj, por exemplo, parece ser um kra que não gosta de xmls de configuracao, entao fez o menta…

É assim que funciona

Vc pode usar o framework que vc quiser, pois isso é questão de gosto.

O Mentawai é uma alternativa com um objetivo bem claro:

:arrow: Ser o mais simples e fácil possível

:arrow: Não fazer uso de XML

:arrow: Ser flexível para ser facilmente estendido

:arrow: Implementar o MVC da maneira mais limpa possível

Se vc acha JSF ou Tapestry produtivos, isso é uma opinião que se aplica estritamente a vc, que já deve ter uma boa experiência com esses framework.

Na minha opinião esses frameworks não são simples e são abarrotados de XML pra todo lado. Eu particularmente não gosto, mas isso é o meu gosto pessoal.

Porque vc não dá uma olhada no mentawai e contribui com dicas e sugestões ??? Sei que vc não gostou muito do Lohis, mas agora com o Mentawai que é open-source (Apache License) bem que vc podia dar algumas sugestões e dicas ao invés de simplesmente desacreditar o projeto. Não é melhor ajuda?

O Mentawai não é meu. É da comunidade. É 100% nacional! Tem muita gente dando um feedback positivo e colaborando com dicas para melhorá-lo. Eu mesmo estou começando um projeto web sério usando ele como framework, e outros estão fazendo o mesmo.

Então: Já que vc acha JSF e Tapestry mais produtivos que o Mentawai, dê um exemplo ou me ajude a fazer o Mentawai tão produtivo quanto. Eu e a comunidade te agradecemos.

Vc participa ou é o autor de algum projeto open-source?

Por pior que seja, tem coisas que ficam piores escritas em java que em xml. page-flow, por exemplo.

E quanto ao web-work, o uso de xml é bem dosado no caso dele. E se quiser pode até usar arquivos properties