E aí galera, blz?
Seguinte, acabei de incluir um projeto no SourceForge para gerenciamento de templates.
Tá sem documentação, porém ele funciona como o Tiles.
Ele funciona com qualquer controler, ou até mesmo servlet puro.
Estou usando aki no meu trabalho já faz uns dois meses e está bem estável.
Quem quiser dar uma olhada e testar segue o link abaixo:
Basta baixar o arquivo war e fazer o deploy.
Abraço galera!
fmeyer
Setembro 21, 2006, 12:58pm
#2
geralemte o pessoal costuma distribuir os projetos como .zip, .tar.gz ou .tar.bz2 como forma de padronizacao.
só uma dica
Valeu a dica, já está lá o arquivo .zip
+brLayout-1.0.zip
- Jar
- Source
- war
Abraço
boaglio
Setembro 21, 2006, 2:02pm
#4
Qual a diferença desse projeto e do EasyTemplates ?
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.
Segue abaixo um exemplo de configuração dos templates:
brlayout-defs.xml
[code]
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- DEFINING BASE MODEL -->
<model name="base" path="/templates/mainPage.jsp">
<put name="title" value="${title}" />
<put name="head" value="/templates/head.jsp" />
<put name="body" value="${body}" />
<put name="menu" value="/templates/menu.jsp" />
<put name="footer" value="/templates/footer.jsp" />
<put name="link.desc" value="${link.desc}" />
<put name="link" value="${link}" />
</model>
<!-- EXTENDING BASE MODEL FILLING VARIABLES -->
<model name="hello" extends="base">
<put name="title" value="hello.title" />
<put name="body" value="/hello.jsp" />
<put name="title" value="hello.title" />
<put name="link.desc" value="hello.google.desc" />
<put name="link" value="hello.google.link" />
</model>
[/code]
Legal cara.
Quais são as vantagens dele em relação ao Tiles?
[quote=black_fire]Segue abaixo um exemplo de configuração dos templates:
brlayout-defs.xml
[code]
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- DEFINING BASE MODEL -->
<model name="base" path="/templates/mainPage.jsp">
<put name="title" value="${title}" />
<put name="head" value="/templates/head.jsp" />
<put name="body" value="${body}" />
<put name="menu" value="/templates/menu.jsp" />
<put name="footer" value="/templates/footer.jsp" />
<put name="link.desc" value="${link.desc}" />
<put name="link" value="${link}" />
</model>
<!-- EXTENDING BASE MODEL FILLING VARIABLES -->
<model name="hello" extends="base">
<put name="title" value="hello.title" />
<put name="body" value="/hello.jsp" />
<put name="title" value="hello.title" />
<put name="link.desc" value="hello.google.desc" />
<put name="link" value="hello.google.link" />
</model>
[/code][/quote]
Nào tem um DTD ou um XML Schema? Como você valida o XML?
[quote=carneiro]Legal cara.
Quais são as vantagens dele em relação ao Tiles?[/quote]
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.
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!
Num é melhor ver se algum erro no mapeamento pro bean dá algum erro?
É 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.
Luca
Setembro 21, 2006, 4:42pm
#13
Olá
Parabéns!
Não crie DTD. Aproveite a ocasião e estude Schema. Há 2 tutoriais muito bons em:
http://www.xfront.com/schematutorialchangehistory.html
e
http://www.w3schools.com/schema/default.asp
É 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
É 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.[/quote]
Então, não tá baum?
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
O schema é a evolução do DTD
[quote=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.[/quote]
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?
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.
Uma dica…
Existem geradores automáticos de XSD e DTD.
Uma aplicação web que faz isto (minha opção)
http://www.hitsw.com/xml_utilites/
Um programa em C# (antigamente também era um serviço)
http://www.gotdotnet.com/team/xmltools/xsdinference/XSDInference.exe
A versão Mono
http://www.mono-project.com/XML_Schema_Inference
Luca
Setembro 22, 2006, 8:40pm
#20
Olá
[quote=rodrigousp]http://www.gotdotnet.com/team/xmltools/xsdinference/XSDInference.exe
[/quote]
O XSDinference agora se baixa direto da Microsfoft como por coincidência hoje mesmo eu indiquei em http://www.guj.com.br/posts/list/42046.java#223656
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