Boa tarde,
Criei um template usando o Facelets mas não consigo usar tags do jsf através do ui:define.
Dá o seguinte erro:
...javax.faces.view.facelets.TagException: /incluirProdutos.xhtml at line 16 and column 64 <h:br> Tag Library supports namespace: http://java.sun.com/jsf/html, but no tag was defined for name: br
at org.apache.myfaces.view.facelets.compiler.CompilationManager.pushTag(CompilationManager.java:279)
Não é falta de fechar tag, já chequei.
Aqui está o arquivo de template:
template.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<h:head>
<h:outputStylesheet name="layout.css" library="css" />
</h:head>
<h:body>
<div class="page">
<div class="header">
<ui:insert name="header" >
<ui:include src="header.xhtml" />
</ui:insert>
</div>
<div class="navigation">
<ui:insert name="navigation" >
<ui:include src="navigation.xhtml" />
</ui:insert>
</div>
<div class="data">
<ui:insert name="data" >
<ui:include src="data.xhtml" />
</ui:insert>
</div>
<div class="footer">
<ui:insert name="footer" >
<ui:include src="footer.xhtml" />
</ui:insert>
</div>
</div>
</h:body>
</ui:composition>
E aqui o arquivo onde quero substituir o conteúdo:
produtos.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<h:body>
<ui:composition template="layout.xhtml">
<ui:define name="data">
<div class="databox">
<h:form>
<h:outputLabel value="Campo 1:" /> <h:inputText/><h:br/>
<h:outputLabel value="Campo 2:" /> <h:inputText/>
<h:outputLabel value="Campo 3:" /> <h:inputText/>
</h:form>
</div>
</ui:define>
</ui:composition>
</h:body>
</ui:composition>
Desde já obrigado.