Estou tentando intender o tiles no JSF
ex: quando eu crio uma “definition”
<definition name="/homeCadastro.tiles" .............
que lugar que eu chamo isto?
em uma jsp?
como funciona isto?
Estou tentando intender o tiles no JSF
ex: quando eu crio uma “definition”
<definition name="/homeCadastro.tiles" .............
que lugar que eu chamo isto?
em uma jsp?
como funciona isto?
sim.
faça uma referência no JSP, mais ou menos assim:
/WEB-INF/tiles-defs.xml...
<tiles-definitions>
<definition name="template" path="/WEB-INF/jsp/template.jsp">
<put name="header" value="/WEB-INF/jsp/header.jsp" />
<put name="menu" value="/WEB-INF/jsp/menu.jsp" />
<put name="content" value="" />
<put name="footer" value="/WEB-INF/jsp/footer.jsp" />
</definition>
</tiles-definitions>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib uri="apache.org/tags-tiles" prefix="tiles" %>
<html>
...
<table>
<tr>
<td colspan="2">
<tiles:insert attribute="header" />
</td>
</tr>
<tr>
<td>
<tiles:insert attribute="menu" />
</td>
<td>
<tiles:insert attribute="corpo" />
</td>
</tr>
<tr>
<td colspan="2">
<tiles:insert attribute="rodape" />
</td>
</tr>
</table>
...
</html>
<h1>Header</h1>
<table>
<td>
<td>
<h2>Menu<h2>
</td>
<td>
<a href="/um/index.jsp">Um</a><br />
</td>
<td>
<a href="/dois/dois.jsp">Dois</a><br />
</td>
<td>
<a href="/index.jsp">Home</a><br />
</td>
</tr>
</table>
<p>Footer</p>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib uri="apache.org/tags-tiles" prefix="tiles" %>
<tiles:insert definition="template">
<tiles:put name="content" type="string">
<h2>Content</h2>
</tiles:put>
</tiles:insert>
wbdsjunior
Muito obrigado pela ajuda, porem ainda tem uns pontos que não intendi
por exemplo aqui voce faz
/jsp/index.jsp
view plaincopy to clipboardprint?
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib uri="apache.org/tags-tiles" prefix="tiles" %>
<tiles:insert definition="template">
<tiles:put name="content" type="string">
<h2>Content</h2>
</tiles:put>
</tiles:insert>
vc esta inserindo a pagina templade … porem qual funcionalidade de tiles:put
o que acontece aqui
<tiles:put name="content" type="string">
<h2>Content</h2>
</tiles:put>
outra obs: aqui vc mapeia como header , menu, content, footer, porem depois na hora de inserir vc chama de header , menu , corpo ,rodape
nao precisa ser com o mesmo nome?
aqui…
<tiles:put name="content" type="string">
<h2>Content</h2>
</tiles:put>
… rola como no facelets. você substitui o conteudo de content pelo o que está entre a tag tiles:put.
outra obs: aqui vc mapeia como header , menu, content, footer, porem depois na hora de inserir vc chama de header , menu , corpo ,rodapenao precisa ser com o mesmo nome?
corrigindo…
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<html>
...
<table>
<tr>
<td colspan="2">
<tiles:insert attribute="header" />
</td>
</tr>
<tr>
<td>
<tiles:insert attribute="menu" />
</td>
<td>
<tiles:insert attribute="content" />
</td>
</tr>
<tr>
<td colspan="2">
<tiles:insert attribute="footer" />
</td>
</tr>
</table>
...
</html>