Você pode fazer isso utilizando AJAX… Só não sei como fazer isso com JSF e facelets…
prog.tiago
Olá melges, bom dia!
É o que eu imagino,
Você sabe como eu faço? Teria algum exemplo?
Ficaria muito agradecido.
Já tentei de inúmeras formas mas não sei como faço!
F
FelipeThi
cara… você terá que deixar todo este conteúdo dinâmico.
e faria isso com javascript(usa o plugin jQuery) utitlizando ajax.
Agora eu te digo…
é realmente preciso fazer isso?
não há nenhum problema em se recarregar a página…
se for realmente preciso, você vai ter uma trabalheira amigo…
L
lion.dev
prog.tiago:
Olá melges, bom dia!
Você pode fazer isso utilizando AJAX... Só não sei como fazer isso com JSF e facelets...
É o que eu imagino,
Você sabe como eu faço? Teria algum exemplo?
Ficaria muito agradecido.
Já tentei de inúmeras formas mas não sei como faço!
Eu fiz algo parecido:
<?xmlversion='1.0'encoding='UTF-8'?><!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><ui:compositiontemplate="./resources/templates/layoutBase.xhtml"xmlns="http://www.w3.org/1999/xhtml"xmlns:ui="http://java.sun.com/jsf/facelets"xmlns:p="http://primefaces.org/ui"xmlns:h="http://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><ui:definename="tituloNavegacao"><h:outputTextvalue="Configurações"styleClass="subtituloSistema"rendered="#{controleAcesso.acessoLiberado}"/></ui:define><ui:definename="content"><p:layoutfullPage="false"rendered="#{controleAcesso.acessoLiberado}"><p:layoutUnitid="layoutUnitConfViewLeft"position="west"minSize="300"gutter="2"collapsible="true"><h:form><p:panelheader="Configurações"><p:menustyle="border: none;"><p:menuitemaction="#{configuracoes.setAtual(1)}"update=":panelConfAtual"value=" Pessoais"icon="ui-icon ui-icon-wrench"/><p:menuitemaction="#{configuracoes.setAtual(2)}"update=":panelConfAtual"value=" Banco de dados"icon="ui-icon-gear"rendered="#{documents.usuario.perfil.confBanco}"/><p:menuitemaction="#{configuracoes.setAtual(3)}"update=":panelConfAtual"value=" Pasta de arquivos"icon="ui-icon-copy"rendered="#{documents.usuario.perfil.confCaminhoArquivos}"/><p:menuitemaction="#{configuracoes.setAtual(4)}"update=":panelConfAtual"value=" Senha"icon="ui-icon ui-icon-key"/></p:menu></p:panel></h:form></p:layoutUnit><p:layoutUnitposition="center"><p:panelid="panelConfAtual"><f:facetname="header"><h:outputTextvalue="#{configuracoes.headerAtual}"/></f:facet><h:formrendered="#{!configuracoes.headerAtual.isEmpty()}"><p:toolbarid="toolBar"style="border: none"><p:toolbarGroupalign="left"><p:commandLinkstyle="float: right"immediate="true"update=":panelConfAtual"title="Cancelar"action="#{configuracoes.setAtual(0)}"><h:outputTextstyleClass="ui-icon ui-icon-G ui-icon-G-cancel"/></p:commandLink><p:commandLinkrendered="#{configuracoes.atual == 1}"style="float: right"process="@form"title="Salvar configurações pessoais"action="#{themeSwitcher.aplicarTema()}"><h:outputTextstyleClass="ui-icon ui-icon-G ui-icon-G-check"/></p:commandLink><p:commandLinkrendered="#{configuracoes.atual == 2}"style="float: right"process="@form"title="Salvar configurações de banco de dados"action="#{conexao.salvarConexao()}"><h:outputTextstyleClass="ui-icon ui-icon-G ui-icon-G-check"/></p:commandLink><p:commandLinkrendered="#{configuracoes.atual == 3}"style="float: right"process="@form"title="Salvar configurações de diretório"action="#{documents.salvarDiretorio()}"><h:outputTextstyleClass="ui-icon ui-icon-G ui-icon-G-check"/></p:commandLink><p:commandLinkrendered="#{configuracoes.atual == 4}"style="float: right"process="@form"title="Salvar nova senha"action="#{controleAcesso.alterarSenha()}"><h:outputTextstyleClass="ui-icon ui-icon-G ui-icon-G-check"/></p:commandLink></p:toolbarGroup></p:toolbar><p:spacerheight="5"/><p:panelGridcolumns="1"rendered="#{configuracoes.atual == 1}"><h:outputTextstyle="font-weight: 600;"value="Tema atual"/><p:themeSwitcherstyle="150px"value="#{themeSwitcher.tema}"valueChangeListener="#{themeSwitcher.listenerTheme}"><f:selectItemsvalue="#{themeSwitcher.themes}"/></p:themeSwitcher></p:panelGrid><p:panelGridcolumns="1"rendered="#{configuracoes.atual == 2}"><h:outputTextstyle="font-weight: 600;"value="Servidor"/><p:inputTextstyle="width: 300px"value="#{conexao.servidor}"required="true"requiredMessage="O campo [Servidor] deve ser preenchido."/><p:spacerheight="5"/><h:outputTextstyle="font-weight: 600;"value="Porta"/><p:inputTextstyle="width: 150px"value="#{conexao.porta}"required="true"requiredMessage="O campo [Porta] deve ser preenchido."/><p:spacerheight="5"/><h:outputTextstyle="font-weight: 600;"value="Banco"/><p:inputTextstyle="width: 300px"value="#{conexao.banco}"required="true"requiredMessage="O campo [Banco] deve ser preenchido."/><p:spacerheight="5"/><h:outputTextstyle="font-weight: 600;"value="Usuário"/><p:inputTextstyle="width: 300px"value="#{conexao.usuario}"required="true"requiredMessage="O campo [Usuário] deve ser preenchido."/><p:spacerheight="5"/><h:outputTextstyle="font-weight: 600;"value="Senha *"/><p:passwordstyle="width: 300px"match="confirmaPassBanco"value="#{conexao.senha}"required="true"requiredMessage="O campo [Nova senha] deve ser preenchido"validatorMessage="As duas senhas devem ser iguais."/><p:spacerheight="5"/><h:outputTextstyle="font-weight: 600;"value="Confirme a senha *"/><p:passwordid="confirmaPassBanco"required="true"requiredMessage="O campo [Confirme a nova senha] deve ser preenchido"style="width: 300px"/></p:panelGrid><p:panelGridcolumns="1"rendered="#{configuracoes.atual == 3}"><h:outputTextstyle="font-weight: 600;"value="Diretório "/><p:inputTextstyle="width: 300px"value="#{documents.realPath}"required="true"requiredMessage="O campo [Diretório] deve ser preenchido."/><p:spacerheight="5"/><h:outputTextstyle="font-weight: 600;"value="Tamanho máximo dos arquivos *"/><p:inputMaskstyle="width: 150px"mask="[telefone removido]"value="#{documents.sizeMax}"required="true"requiredMessage="O campo [Tamanho máximo] deve ser preenchido."/><h:outputTextvalue="* O tamanho deve ser em bytes."/><h:outputTextvalue="** O Tamanho atual do diretório é: #{(documents.longSizeMax)/1024/1024} MB"/></p:panelGrid><p:panelGridcolumns="1"rendered="#{configuracoes.atual == 4}"><h:outputTextstyle="font-weight: 600;"value="Senha atual *"/><p:passwordstyle="width: 300px"value="#{controleAcesso.senha}"required="true"requiredMessage="O campo [Senha atual] deve ser preenchido"/><p:spacerheight="5"/><h:outputTextstyle="font-weight: 600;"value="Nova senha *"/><p:passwordstyle="width: 300px"id="novaSenha"match="confirmaSenha"value="#{controleAcesso.novaSenha}"feedback="true"promptLabel="Entre com a senha"weakLabel="Senha fraca"goodLabel="Senha média"strongLabel="Senha forte"required="true"requiredMessage="O campo [Nova senha] deve ser preenchido"validatorMessage="As duas senhas devem ser iguais."/><p:spacerheight="5"/><h:outputTextstyle="font-weight: 600;"value="Confirme a nova senha *"/><p:passwordid="confirmaSenha"required="true"requiredMessage="O campo [Confirme a nova senha] deve ser preenchido"style="width: 300px"/></p:panelGrid></h:form></p:panel></p:layoutUnit></p:layout></ui:define></ui:composition>
Ai tipo, ao invés de deixar tudo na mesma página, vc pode usar Iframes nessa div de conteudo que vc quer, pq aí vc carregaria a pagina q quer, sem que todo o template seja recarregado.
Acho melhor vc fazer dessa forma que usar javascript. Acho mais complicado, mais difícil e mais suscetível a erros.
M
melges
Cara já fiz isso usando o spring web mvc. Não sei como fazer com JSF e facelets.
Com o spring usei o seguinte site como referencia, acho q não te ajudará mto, mas ai vai: