Nao conhecia o EasyTemplate nao.
Mas pelo q vi a configuração das paginas no brLayout é mais simples.
Nao precisa de Classes Java, apenas configurado no XML
voce monta o seu template.
E também tem suporte a herança.
black_fire
Segue abaixo um exemplo de configuração dos templates:
brlayout-defs.xml
<?xml version="1.0" encoding="ISO-8859-1" ?><!-- DEFINING THE RESOURCE FILE --><brlayout-definitionsresource="brlayoutMessages"><!-- DEFINING BASE MODEL --><modelname="base"path="/templates/mainPage.jsp"><putname="title"value="${title}"/><putname="head"value="/templates/head.jsp"/><putname="body"value="${body}"/><putname="menu"value="/templates/menu.jsp"/><putname="footer"value="/templates/footer.jsp"/><putname="link.desc"value="${link.desc}"/><putname="link"value="${link}"/></model><!-- EXTENDING BASE MODEL FILLING VARIABLES --><modelname="hello"extends="base"><putname="title"value="hello.title"/><putname="body"value="/hello.jsp"/><putname="title"value="hello.title"/><putname="link.desc"value="hello.google.desc"/><putname="link"value="hello.google.link"/></model></brlayout-definitions>
C
carneiro
Legal cara.
Quais são as vantagens dele em relação ao Tiles?
Daniel_Quirino_Olive
black_fire:
Segue abaixo um exemplo de configuração dos templates:
brlayout-defs.xml
<?xml version="1.0" encoding="ISO-8859-1" ?><!-- DEFINING THE RESOURCE FILE --><brlayout-definitionsresource="brlayoutMessages"><!-- DEFINING BASE MODEL --><modelname="base"path="/templates/mainPage.jsp"><putname="title"value="${title}"/><putname="head"value="/templates/head.jsp"/><putname="body"value="${body}"/><putname="menu"value="/templates/menu.jsp"/><putname="footer"value="/templates/footer.jsp"/><putname="link.desc"value="${link.desc}"/><putname="link"value="${link}"/></model><!-- EXTENDING BASE MODEL FILLING VARIABLES --><modelname="hello"extends="base"><putname="title"value="hello.title"/><putname="body"value="/hello.jsp"/><putname="title"value="hello.title"/><putname="link.desc"value="hello.google.desc"/><putname="link"value="hello.google.link"/></model></brlayout-definitions>
Nào tem um DTD ou um XML Schema? Como você valida o XML?
black_fire
carneiro:
Legal cara.
Quais são as vantagens dele em relação ao Tiles?
Peguei o conceito basico do Tiles e fiz a implementação da mesma forma.
Mas paraticularmente, pra mim a maior vantagem é nao estar amarrado ao Struts, desta forma se vc precisa alterar o seu controler, o seu template de página não está amarrado a ele.
black_fire
Verdade Daniel, vou criar o DTD! :?
Mas hoje eu carrego o xml para um bean e faço a validação dos atributos via java.
Vou ver se trabalho essa semana no DTD.
Valeu o toque!
renatosilva
Num é melhor ver se algum erro no mapeamento pro bean dá algum erro?
black_fire
É exatamente o que está acontecendo hj.
Se houver erro de mapeamento, ele diz q houve um problema de configuração.
Se houver erro em uma tag específica, ele nao carrega o template com problema e carrega os outros.
É um só pouquinho mais difícil escrever um schema. A vantagem de entender de schema é que fica muito mais fácil entender mensagens SOAP, WSDL e coisas que a cada dia entrem no nosso vocabulário.
[]s
Luca
renatosilva
É exatamente o que está acontecendo hj.
Se houver erro de mapeamento, ele diz q houve um problema de configuração.
Se houver erro em uma tag específica, ele nao carrega o template com problema e carrega os outros.
Então, não tá baum?
black_fire
Creio q sim, mas é legal seguir um padrão.
Quando eu estava estudando o código do Tiles, ele está fazendo o parse da mesma forma q eu fiz, porém por padrão existe um dtd, mesmo sem validação.
Vou dar uma olhada no schema pra ver como ele pode ajudar na configuração.
Abraço
renatosilva
O schema é a evolução do DTD
Rubem_Azenha
black_fire:
Nao conhecia o EasyTemplate nao.
Mas pelo q vi a configuração das paginas no brLayout é mais simples.
Nao precisa de Classes Java, apenas configurado no XML
voce monta o seu template.
E também tem suporte a herança.
Pode haver uma forte discussão se o fato de ser configurado via XML é realmente uma vantagem
Não tem como criar uma ponte para configuração programática?
Mauricio_Linhares
Configuração programática de Templates? Em HTML né?
Até porque ela é a linguagem na qual as páginas são escritas
Sobre a configuração, a melhor solução que eu vi até hoje foi o que os caras do Facelets fizeram, vale a pena uma conferida -> https://facelets.dev.java.net/
Outra coisa, o Tiles não depende do Struts, usei muito o Tiles com Spring MVC e ele sempre funcionou perfeitamente.
rodrigousp
Uma dica…
Existem geradores automáticos de XSD e DTD.
Mas precisa tomar cuidado com os geradores automáticos como o infer pois eles não geram tudo como padrões (patterns) por exemplo.
[]s
Luca
black_fire
Inicialmente o Tiles era separado, depois foi Integrado com o Struts, porém hoje em dia nao tem como achar essa lib separada do Tiles (pelo menos eu nao achei), tanto que varios usuarios de Webwork, acabam optando pelo Sitemesh, porém este nao é uma ferramenta de templates e sim um decorador e algumas coisas ficam muito complicadas fazer com ele.
Já em relação a configuração, como já disse antes, tentei fazê-la o mais próxima possivel do Tiles, pois desta forma, no caso de uma migração do Struts para outro Controler nao haveria quase nenhuma alteração para mudar do Tiles para o brLayout
bgbraga
…
bgbraga
É isso tem a ver com gosto mesmo.
Eu já prefiro o SiteMesh do que o Tiles. Acho muito mais simples de usar, dá para criar templates sim, e acho que facilita a integração do programador com o designer.
Quanto ao brLayout, eu acho legal se ele passar a ter mais recursos que o Tiles e mais facilidades.
Copiar para ficar igual, eu já acho meio estranho…