Olá alguem tem algum material de custom tags bem simples para iniciantes… estou procurando na net… e ainda não achei um bem simples
Abs
Olá alguem tem algum material de custom tags bem simples para iniciantes… estou procurando na net… e ainda não achei um bem simples
Abs
Pera lá, quer dizer que scriptlets em Ruby é igual a taglibs + scriptlets + EL? Hahahaha. Tenho certeza que para programadores PHP tudo se resolve com scriptlets também, hahahaha!
Integração? Isso tudo faz parte do Java EE! Não consigo imaginar JSP sem EL e sem taglib, que “falta de integração” há nisso?
É o tal do negócio, nos dias de hoje se Java tem algo é porque é bloated, se não tem é porque é limitado. Fanboys de tudo que é linguagem se juntam para justificar o injustificável, até scriptlet em Ruby é lindo! hahahahaha[/quote]
Se você quiser ficar analisando SINTAXE, então é melhor acabar a discussão aqui. Mas, SEMANTICAMENTE, um Helper do RoR tem o mesmo papel de uma custom tag em Java EE. E é isso que estamos há 2 páginas discutindo. Se a SINTAXE não lhe agrada, questão de gosto pessoal, mas imaginar que todas as tecnologias devam seguir o “jeito Java/C#/Python/Ruby de ser” é de uma estupidez desmedida.
Sem querer tirar o mérito das custom tags, mas eu duvido que você consiga projetar uma interface DECENTE para uma tag que receba como parâmetro um varargs.
[quote=Daniel Quirino Oliveira]
Sem querer tirar o mérito das custom tags, mas eu duvido que você consiga projetar uma interface DECENTE para uma tag que receba como parâmetro um varargs.[/quote]
Como assim Daniel ? Não entendi seu ponto de questionamento …
Em taglibs você pode receber qualquer objeto, logo pode receber um array de objetos que variam a depender da situação e trabalhar com elas dentro de uma classe Java normal (usar reflection, e o escambau!). Estou dizendo que fica mais com cara de componente, uma tag que tem determinados atributos que especificam o comportamento, e a manipulação desses atributos são de fácil uso por um programador que conheça muito javascript, css, html, dhtml, etc… E como em projetos grandes hoje em dia, algumas organizações contratam profissionais desse perfil para atuarem no desenvolvimento específico dessas telas. É por isso que Java abre oportunidades para pessoas atuarem em ramos específicos no desenvolvimento.
Agora para projetos pessoais, e quando você tem um pessoa responsável por fazer um módulo inteiro ou um sistema inteiro, acho que o esquema de programação proposta pelo RoR é mais vantajoso.
[quote=Fabrício Cozer Martins][quote=Daniel Quirino Oliveira]
Sem querer tirar o mérito das custom tags, mas eu duvido que você consiga projetar uma interface DECENTE para uma tag que receba como parâmetro um varargs.[/quote]
Como assim Daniel ? Não entendi seu ponto de questionamento …
Em taglibs você pode receber qualquer objeto, logo pode receber um array de objetos que variam a depender da situação e trabalhar com elas dentro de uma classe Java normal (usar reflection, e o escambau!). Estou dizendo que fica mais com cara de componente, uma tag que tem determinados atributos que especificam o comportamento, e a manipulação desses atributos são de fácil uso por um programador que conheça muito javascript, css, html, dhtml, etc… E como em projetos grandes hoje em dia, algumas organizações contratam profissionais desse perfil para atuarem no desenvolvimento específico dessas telas. É por isso que Java abre oportunidades para pessoas atuarem em ramos específicos no desenvolvimento.
Agora para projetos pessoais, e quando você tem um pessoa responsável por fazer um módulo inteiro ou um sistema inteiro, acho que o esquema de programação proposta pelo RoR é mais vantajoso.[/quote]
Não estou falando em array de objetos, estou falando em varargs mesmo (tudo bem, eu sei que no Java 5.0 varargs são tratados como se fossem arrays, mas a idéia por trás de varargs é bem mais poderosa do que isso).
Se você fosse tentar expressar a idéia de varargs em uma tag, você provavelmente teria que fazer algo assim:
<x:y args="1, 2, Java, 0.2, AABBCC"/>
<x:y args="A, v, 0"/>
A questão é que esta abordagem tem dois problemas:
Mas provavelmente você iria me falar: “Oras! Mas eu poderia montar um array e passá-lo como parâmetro para a minha tag!”. Mesmo? Então monte seu array de uma forma que seja legível e simples sem usar scriptlets
Não, não estou sugerindo para ninguém que scriptlets são melhores que custom tags! Só estou sugerindo para não serem imaturos em achar que apenas custom tags resolvem TODOS os problemas do mundo referentes a camada de apresentação em ambiente Web usando Java EE, pois, acredite, elas não resolvem (pelo menos não de uma maneira simples, legível e efetiva).
E é isso.
[quote=Daniel Quirino Oliveira]
<x:y args="1, 2, Java, 0.2, AABBCC"/>
<x:y args="A, v, 0"/>
A questão é que esta abordagem tem dois problemas:
Mas provavelmente você iria me falar: “Oras! Mas eu poderia montar um array e passá-lo como parâmetro para a minha tag!”. Mesmo? Então monte seu array de uma forma que seja legível e simples sem usar scriptlets
[/quote]
Que tal esta maneira:
<x:y args="${umArrayDeObjects}"/>
Dessa forma é possível sim passar parâmetros diferentes de String. Mas agora você vai dizer que “EL não vale”. Lógico que vale, um JSP sem EL é um meio JSP, é um JSP de vários anos atrás! É como querer usar o JDK 1.2 como base de comparação.
Servlets + JSP + JSTL + EL, são como se fossem uma coisa só, e é muito fácil aprendê-las. E com certeza é melhor do que esses scriptlets PHP-like do Ruby.
Olá
Pensar assim é um grande erro. Servlet é uma tecnologia básica que deveria ser exigida com ênfase nas provas de programador Java pois é para ser usado com qualquer tipo de camada de apresentação. Conhecer Servlet é muito mais importante do que decorar as palavras chaves do Java ou entender a fundo os wildcards dos generics.
Um dos males dos atuais programadores Web é que aprendem JSP sem aprender Servlet e HTTP. É por isto que volta e meia alguém aqui no GUJ demonstra que não entende de sessions, filtros, cache HTTP, etc.
[]s
Luca
[quote=Luca]Olá
Pensar assim é um grande erro. Servlet é uma tecnologia básica que deveria ser exigida com ênfase nas provas de programador Java pois é para ser usado com qualquer tipo de camada de apresentação. Conhecer Servlet é muito mais importante do que decorar as palavras chaves do Java ou entender a fundo os wildcards dos generics.
[/quote]
Concordo, mas na prática se usa tudo junto. Não se usa apenas uma coisa ou outra, pois essas tecnologias não são mutualmente exclusivas e tampouco coisas sem nenhuma conexão. Invariavelmente se acabará usando um pouco de cada.
A minha objeção quanto ao argumento do scriptlets Ruby é que alguns querem comparar scriptlets Ruby estritamente com scriplets JSP e ignorar todo o resto, ao invés de comparar as soluções para web disponíveis. Isso porque as soluções de Java são muito superiores aos scriptlets PHP-like do Ruby.
Chamar scriptlet de tag por falta de coisa melhor é o fim da picada. Os proponentes de Ruby se rebelaram e decidiram voltar para o século XX. Luditas.
[quote=Thiagosc][quote=Daniel Quirino Oliveira]
<x:y args="1, 2, Java, 0.2, AABBCC"/>
<x:y args="A, v, 0"/>
A questão é que esta abordagem tem dois problemas:
Mas provavelmente você iria me falar: “Oras! Mas eu poderia montar um array e passá-lo como parâmetro para a minha tag!”. Mesmo? Então monte seu array de uma forma que seja legível e simples sem usar scriptlets
[/quote]
Que tal esta maneira:
<x:y args="${umArrayDeObjects}"/>
Dessa forma é possível sim passar parâmetros diferentes de String. Mas agora você vai dizer que “EL não vale”. Lógico que vale, um JSP sem EL é um meio JSP, é um JSP de vários anos atrás! É como querer usar o JDK 1.2 como base de comparação.
Servlets + JSP + JSTL + EL, são como se fossem uma coisa só, e é muito fácil aprendê-las. E com certeza é melhor do que esses scriptlets PHP-like do Ruby.[/quote]
Eu entendi que a solução que o Fabrício sugeriu seria algo como o exemplo que você citou, Thiago, ou seja:
Daniel, tem algum exemplo real de uma situação que envolva esse problema que vc apresentou ?
Tenho, exatamente na aplicação que estou desenvolvendo atualmente (para um certo banco governamental). Não posso entrar muito em detalhes, mas é uma “tag ajax” responsável por fazer uma busca absurdamente ad-hoc baseado nos parâmetros que você lhe passar (quanto mais parâmetros, mais eficiente é a busca). Os objetos que passamos por parâmetro não vem “embrulhadinhos” em um array pronto para ser passado como parâmetro para a tag
De ruby não sei nada, mas…
que tal para saber os tipos fazer algo no estilo de um printf?
tá, não é a coisa mais linda do mundo mas, se é pra não usar scriptlet não vejo outra alternativa agora…
E queria entender também o que o ser ali em cima tem contra php! Php é bom demais, o cara é louco… hehehe
Só pra não fugir mais do tópico, achei feio demais o ruby e sua sintaxe, sei lá, não estou acostumado…
Flw
[quote=dudaskank]De ruby não sei nada, mas…
que tal para saber os tipos fazer algo no estilo de um printf?
tá, não é a coisa mais linda do mundo mas, se é pra não usar scriptlet não vejo outra alternativa agora…
[/quote]
Legal, uma idéia, mas e se você não for passar apenas Strings e números como parâmetro?
Mas, ok, não vamos ficar discutindo esta questão exaustivamente pois ela é infrutífera. O ponto a que eu gostaria de chegar é que não se pode “proibir” o uso de um recurso (scriptlets) em favor de outro (custom tags) para todas as situações. Vão existir situações que favorecem o uso de tags e outras em que um scriptlet vai ser necessário. O que é importante é: