Olha eu aqui de novo…
Somente venho perguntar depois de ficar muito tempo batendo no assunto.
Estou seguindo o curso Criando uma Aplicação Completa com JavaServer Faces, e fazendo alguma modificações.
Então vamos lá:
Tenho a estrutura assim:
- Paginas Web
- WEB-INF
- template
- geral.css
- menu.xhtml
- template.xhml
- tipodoc
- addtipodoc.xhtml
- edittipodoc.xhtml
- listtipodoc.xhtml
index.xhtml
Código do menu.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">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
</h:head>
<h:body>
<h:form>
<h:commandLink value="Tipos de Documentos" action="listTipoDoc"></h:commandLink>
</h:form>
</h:body>
</html>
Código do template.xhtml:
<?xml version="1.0" encoding="UTF-8" ?>
<html 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">
<h:head>
<link rel="StyleSheet" type="text/css" href="template/geral.css" media="screen" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
<ui:insert name="pageTitle">
<h:outputText value="Funciona?"></h:outputText>
</ui:insert>
</title>
</h:head>
<h:body>
<div id="container">
<div id="header">
SGD - Sistema de Gestão de Documentos
</div>
<div id="leftBar">
<ui:include src="menu.xhtml" />
</div>
<div id="content">
Conteúdo principal
<ui:insert name="content"></ui:insert>
</div>
<!--
<div id="rightBar">
Tipo Documentos<br/>
Documentos<br/>
</div>
-->
<div id="footer">
Rodapé
</div>
</div>
</h:body>
</html>
Menu problema é:
Abro a página, ela fica legal e mostra o único link. Clico nele, ele vai para listtipodoc.xhtml. Porém, como eu uso template, se na tela listtipodoc.xhtml eu clicar no link Tipos de Documentos o sistema buga.
Outro problema que tá foda, é o fato da página addtipodoc.xhtml não está pegando o CSS.
O código do listTipoDoc é:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html 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">
<ui:composition template="/template/template.xhtml">
<ui:define name="pageTitle">
<h:outputText value="Templante funcionando"></h:outputText>
</ui:define>
<ui:define name="content">
<h:form>
<h:dataTable var="item" value="#{tiposDocumentosFaces.tipoDoc}">
<h:column>
<f:facet name="header">
<h:outputText value="ID"/>
</f:facet>
<h:outputText value="#{item.tipoID}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Descrição"/>
</f:facet>
<h:outputText value="#{item.descricao}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Ações"/>
</f:facet>
<h:commandLink value="delete" action="#{tiposDocumentosFaces.removeTipoDoc}">
<f:setPropertyActionListener target="#{tiposDocumentosFaces.selectedTipoDoc}" value="#{item}"/>
</h:commandLink>
</h:column>
</h:dataTable>
<h:commandButton value="Adicionar novo tipo documento" action="#{tiposDocumentosFaces.startAddTipoDoc}"/>
</h:form>
</ui:define>
</ui:composition>
</html>
O código da addtipodoc é:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html">
<ui:composition template="/template/template.xhtml">
<ui:define name="pageTitle">
<h:outputText value="Templante funcionando"></h:outputText>
</ui:define>
<ui:define name="content">
<h:form>
<h1>Adicionando novo tipo de documento</h1>
Código:<h:inputText value="#{tiposDocumentosFaces.selectedTipoDoc.tipoID}"/>
Descrição:<h:inputText value="#{tiposDocumentosFaces.selectedTipoDoc.descricao}"/>
<br/>
<h:commandButton value="Salvar" action="#{tiposDocumentosFaces.finishAddTipoDoc}"/>
</h:form>
</ui:define>
</ui:composition>
</html>
O war completo está aqui: http://www.mtsys.com.br/sgdapp.war
A aplicação funcionando está aqui: http://www.sgdonline.com.br/sgdapp/
Valeu pela ajuda e paciência galera.
