XHTML válido para uso em <ui:include/>

2 respostas
Malkav.Felipe

Olá a todos.

Estou fazendo alguns testes com facelets e richfaces. Gostaria de tirar umas dúvidas

Tenho o seguinte template facelets:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!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"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:a4j="http://richfaces.org/a4j"
      xmlns:rich="http://richfaces.org/rich">
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <head>
        <link href="resources/estilo.css" rel="stylesheet" type="text/css" />
        <title>
            <ui:insert name="Titulo">Titulo</ui:insert>
        </title>
    </head>
    <body>
            <div id="container">
                <div id="header">
                    <div id="bannerPrincipal"></div> 
                </div>
                <div id="mainnav">
                     <rich:toolBar>
                        <rich:toolBarGroup itemSeparator="Line">
                            <a4j:commandLink value="Página Inicial"></a4j:commandLink>
                            <a4j:commandLink value="Quem Somos"></a4j:commandLink>
                            <rich:dropDownMenu>
                                <f:facet name="label">
                                    <h:outputText value="Produtos" />
                                </f:facet>
                                <rich:menuItem submitMode="none">
                                    <a4j:commandLink value="Softwares"></a4j:commandLink>
                                </rich:menuItem>
                                <rich:menuItem submitMode="none">
                                    <a4j:commandLink value="Hardwares e Periféricos"></a4j:commandLink>
                                </rich:menuItem>
                            </rich:dropDownMenu>
                            <rich:dropDownMenu>
                                <f:facet name="label">
                                    <h:outputText value="Serviços" />
                                </f:facet>
                                <rich:menuItem submitMode="none">
                                    <a4j:commandLink value="Manutençãoo de Computadores"></a4j:commandLink>
                                </rich:menuItem>
                                <rich:menuItem submitMode="none">
                                    <a4j:commandLink value="Automatização de Empresa"></a4j:commandLink>
                                </rich:menuItem>
                            </rich:dropDownMenu>
                            <a4j:commandLink value="Contato"></a4j:commandLink>
                        </rich:toolBarGroup>
                    </rich:toolBar>
                </div>
                <div id="menu">
                    <ui:insert name="BarraLateral">Menu Auxiliar</ui:insert>
                </div>
                <div id="contents">
                    <ui:insert name="conteudo">Conteudo</ui:insert>
                </div>
                <div id="footer">
                    © Copyright 1999-2009
                </div>

            </div>
    </body>
</html>

A minha idéia é fazer com que quando o usuário clicar em um no menu, somente o div "contents", onde fica o conteúdo, sejá atualizado. Para isso, eu pensei em usar um dinâmico, controlado por um ManagedBean que passaria a url da pagina para o "src" do include.

Minha dúvida consiste em o que nescessáriamente a página com o conteúdo do link precisa ter para ser uma "pagina válida". Não sei se estou sendo claro.
Assim, como vai ser uma página somente com o conteúdo a ser inserido em outra página, ela nessecita ter toda a estrutura de uma pagina xhtml normal, como , , ?? Ou tem algum "atalho" para que eu coloque somente o necessário para que a pagina possa ser incluida em uma outra (que implemente o template por exemplo) ?

Por enquanto é isso pessoal. Logo perguntarei mais alguma coisa 8)

Grato pela atenção.

Felipe.

2 Respostas

fantomas

Então…eu tentei fazer isto uma vez com tabs no JSF/RichFaces mas não consegui - provavelmente foi por falta de competencia.

Minha conclusão (deculpa para pedir arrego) foi a seguinte:

O JSF monta uma arvore de componentes correspondente a sua página que por sua vez fica sob o domínio de um ciclo de vida, tornando a coisa complexa demais para que possa, do nada, receber a inclusão de mais um grupo de componentes com o processo todo já em execução.

Logo, também gostaria de saber se tem uma saida para isso.

flws

Malkav.Felipe

Bom, primeiramente:
É uma boa ideia implementar includes dinamicos como eu estou querendo fazer pra “simular” uma navegação de página? Sim, porque isso não é uma navegação de pagina real não é?
Caso não seja a melhor opção, o que me indicam pra fazer uma navegação com "cara de ajax :smiley: " onde só o conteúdo muda após a seleção no menu?

Agradeço por qualquer ajuda.

Abraços!

Criado 27 de maio de 2009
Ultima resposta 28 de mai. de 2009
Respostas 2
Participantes 2