Apache Tiles 2.1.2 liberado

A versão 2.1.2 do Apache Tiles foi liberado, sob a licença GA (General Availability). O Apache Tiles é um framework para construção de páginas baseado em peças reutilizáveis (mais conhecido como framework de template).

Algunas features dessa versão:

  • Suporte a wildcards, com as sub-features abaixo:

    ** nas definições de arquivos XML;

    ** em enumerações de listas nos arquivos do Tiles a serem carregados;

  • Suporte a EL na definição de arquivos do Tiles.

  • Habilidade para carregar arquivos de definição das versões 1.x do Tiles.

  • Habilidade para sobrescrever templates quando definições são inseridas.

  • Customização de atributos renderizáveis, como por exemplo para integrar com outros frameworks.

  • Utilização de mais de um container do Tiles.

Documentação | Download | Fonte

Alguém aqui ainda usa Tiles?

Outra coisa, GA quer dizer que é uma versão “pronta pra usar”, não a licença do projeto, que é Apache.

;D

Foi a pressa. :slight_smile:

Ah, atualmente estou dando manutenção em alguns sistemas que não são legados que o utilizam. :slight_smile:

Eu usei Tiles durante um bom tempo, mas acabei me decepcionando com algumas limitações e principalmente pelo excesso de burocracia pra criar os templates (odeio xml! :evil: ). Parece que eles gostam de programar em xml.

Atualmente tô fazendo um para ver se fica melhor do que o Tiles. Já era para estar pronto, mas me deparei com algumas limitações do JSP.

Logo logo eu posto alguma coisa aqui…

Quais são as opções além do Tiles?

Alguém gosta do SiteMesh? http://www.opensymphony.com/sitemesh/

Rafael, habilidade é com ‘h’ :lol:

[quote=andrepestana]Quais são as opções além do Tiles?

Alguém gosta do SiteMesh? http://www.opensymphony.com/sitemesh/[/quote]

O mais conhecido é o SiteMesh mesmo.

My bad, pressa++.

[quote=neófito]Eu usei Tiles durante um bom tempo, mas acabei me decepcionando com algumas limitações e principalmente pelo excesso de burocracia pra criar os templates (odeio xml! :evil: ). Parece que eles gostam de programar em xml.

Atualmente tô fazendo um para ver se fica melhor do que o Tiles. Já era para estar pronto, mas me deparei com algumas limitações do JSP.

Logo logo eu posto alguma coisa aqui…[/quote]

Típico da Apache. Socam XML em tudo.

Típico da comunidade Java :slight_smile:

neófito e victorwss, tenho uma boa notícia: dá pra usar Tiles sem nada de XML. Eu uso assim por odiar o digester. E também há como carregar de um banco de dados.

Veja aqui: http://tiles.apache.org/framework/tutorial/configuration.html (onde diz: Pure Java configuration) e http://tiles.apache.org/framework/how-to/definitions-db.html.

Tiles é muito bom, pois posso usar meus JSPX normalmente. E a cada tela, faço ele herdar de outra, e por aí vai. Fica show de bola.

Claro que se vocês verem apenas aqueles exemplos xoxos que têm no site, aí a gente até perde o gosto… mas usando as features avançadas dele, realmente os sites ficam muito bons.

Eu tava pensando em quem começou com essa choradeira de ser contra XMLs

Tu faz idéia?

Eu tava pensando em quem começou com essa choradeira de ser contra XMLs

Tu faz idéia?[/quote]

Sei lá, desde os mapeamentos em XML do Hibernate que eu tenho horror a XML como meio de configuração.

a 2 anos atras todos defendiam o uso de xml com unhas e dentes. :roll:

mapeamentos de hibernate realmente me faziam chorar :frowning:

Eu tava pensando em quem começou com essa choradeira de ser contra XMLs

Tu faz idéia?[/quote]

O problema do xml, além da verbosidade, é que muitas configurações devem fazer parte da “lógica” do componente, fazendo que se tenha um arquivo de configuração a parte e a aumentando a complexidade para se compreender o mesmo. O componente deixa de ser “natural” e passa a parecer um monstrengo todo remendado. Diria até que isso não é orientado a objetos.

No caso do tiles, as definições são a alma dos templates, não deveriam ficar separadas. É claro que há casos que configurações separadas podem ser úteis, mas essas são excessões, e não a regra.

:smiley:

[quote=otavio]neófito e victorwss, tenho uma boa notícia: dá pra usar Tiles sem nada de XML. Eu uso assim por odiar o digester. E também há como carregar de um banco de dados.

Veja aqui: http://tiles.apache.org/framework/tutorial/configuration.html (onde diz: Pure Java configuration) e http://tiles.apache.org/framework/how-to/definitions-db.html.

Tiles é muito bom, pois posso usar meus JSPX normalmente. E a cada tela, faço ele herdar de outra, e por aí vai. Fica show de bola.

Claro que se vocês verem apenas aqueles exemplos xoxos que têm no site, aí a gente até perde o gosto… mas usando as features avançadas dele, realmente os sites ficam muito bons.[/quote]

Oi Otavio,

Já usei e uso o tiles sem (ou com o mínimo possível de) xml. Mas o tiles tem muitos problemas. É burocrático, estimula o uso com xml (já que a documentação para fazê-lo sem é quase inexistente), adicionaram só agora o que eles chamam de “anonymous nested definitions”. É muito complicado ou chato fazer coisas simples com ele. Eu tentei usá-lo, mas não dá mais.

Estou criando um framework de templates que é baseado em orientação a objetos. Ou seja, um template seria um objeto que pode herdar características de outros, pode definir e sobrescrever conteúdos (análogos a métodos), pode definir e sobrescrever atributos, pode alterar a ordem de execução default dos conteúdos, pode ter uma classe “view helper” para executar alguma lógica de apresentação, e mais algumas coisas. O objetivo é poder criar componentes facilmente com ele.

Os conteúdos podem especificar parâmetros, que ficam disponíveis somente ao conteúdo específico, na forma de atributos em um contexto definido (page, request, etc.). Estou usando o groovy com expression language para as tags, o que dá uma flexiibilidade muito legal. É possível passar uma lista como parâmetro para um conteúdo da seguinte forma:

<jot:insert extends="/expressions/simpleGroovyExpressionParamTagTemplate.jsp">
    <jot:param content="areaMsg" name="nums" value="$g{ [1, 2, 3] }" />
</jot:insert>

E então o conteúdo “areaMsg” do template poderá usar a parâmetro “nums” normalmente. Outros conteúdos do mesmo template podem usar parâmetros de mesmo nome, já que os parâmetros são vistos somente dentro de um conteúdo.

Está ficando legal, mas preciso terminar. O projeto tem testes funcionais automatizados, e uns poucos testes unitários. Devido a uma limitação da api de jsp’s, vou precisar fazer um refactoring grande no projeto, e pra isso vou ter que criar uns testes unitários antes, durante, e depois.

Já tem muita coisa pronta, e quando eu terminar eu posto aqui.

neófito, concordo contigo. Como muitos projetos da apache, há alguns problemas principalmente falando na documentação.

Gosto do tiles talvez por estar mais acortumado, e uso basicamente apenas a herança de definitions. Algo como: crio um template, por exemplo, site e outro admin. Depois as telas apenas herdam de admin ou site, e tudo fica lindo e maravilhoso.

Sinceramente… se eu usasse as JSP tags no JSPX daria o mesmo resultado, hahaha.

E por final, não deixe de nos agraciar com o teu projeto. Achei muito interessante pelo que estive vendo principalmente das expressions. Pena que ainda não peguei nada em groovy. O que cansa mesmo em um projeto é fazer os testes unitários. Por incrivel que pareça, dá mais trabalho que o projeto em sí, hehe.

Abraços


Alem do Tiles e do Sitemash existe outro que está embutido dentro do framework mentawai. A configuração dele é feito via código java e é um framework nacional.

Sobre o uso de xml, eu não tenho nada contra xml. Tiles é legal.

Abraços

Alem do Tiles e do Sitemash existe outro que está embutido dentro do framework mentawai. A configuração dele é feito via código java e é um framework nacional.

Sobre o uso de xml, eu não tenho nada contra xml. Tiles é legal.

Abraços