Problema com Ajax do Menu Richfaces + Facelets

14 respostas
leticia_lk

Estou desenvolvendo um menu com o componente panelMenu do Richfaces.

Menu menu:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:c="http://java.sun.com/jstl/core"
                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">
    <style>
        .cols{
            vertical-align:top;
            width:50%;
        }
    </style>
    <h:panelGrid columns="2" columnClasses="cols" width="100%">
        
            <rich:panelMenu style="width:200px" mode="ajax">
                <rich:panelMenuGroup label="#{texto.Consultar}">
                    <rich:panelMenuItem label="#{texto.Clientes}" action="#{loginBean.listarClientes}"/>
                    <rich:panelMenuItem label="#{texto.Engines}" action="#{loginBean.listarEngines}"/>                    
                </rich:panelMenuGroup>
                <rich:panelMenuGroup label="#{texto.Cadastrar}">
                    <rich:panelMenuItem label="#{texto.Clientes}" action="#{loginBean.cadastrarClientes}"/>
                    <rich:panelMenuItem label="#{texto.Engines}" action="#{loginBean.cadastrarEngines}"/>
                </rich:panelMenuGroup>
            </rich:panelMenu>
        
    </h:panelGrid>

</ui:composition>

O problema é que quando eu defino a propriedade do panelMenu mode=“ajax” a navegação não funciona.
Quando retiro, a navegação funciona, mas dá um reload na página e o menu perde o estado.

Alguém poderia me ajudar?

14 Respostas

G

pois é eu tb tive esse problema, mas n consegui resolver, so dando reload na pagina msm

no meu caso eu passo parametros, com a url da pagina q preciso exibir, em cada item do menu, e recupero em um mb q controla o include da pagina, com o mode setado para ajax, o parametro ficava sempre null, so consegui pegar o valor dele dando reload na pagina.

ps: oq é uma pena…

leticia_lk

poxa…

bom, aceito sugestões de outros menus que funcionem então.

obrigada pela atenção guimoz.

G

vc precisa q ele funcione com ajax ? e no facelets ?

leticia_lk

sim.

seria melhor ainda se fosse com um dos componentes do richfaces.

G

tem o panel menu do richfaces

aqui

leticia_lk

mas é justamente esse que eu estou utilizando.

tem o código aqui em cima.

G

ausdhuasd :stuck_out_tongue: me enganei :stuck_out_tongue:

tem o dropdownmenu do rich faces

tb vc podia dar uma olhada no jscookmenu do tomahawk

leticia_lk

eheheheh…

vou fazer tentar com esse dropdownmenu.

A

Boa tarde,

Estou com um problema, quando eu faço um reRender de um outputPanel que contém duas subview que estão setadas como rendered=false.
No momento que vou apresentar uma delas troco o rendered=true e faço um reRender do outputPanel e ai vem o meu problema, tudo aparece corretamente proém quando vou utilizar uma tree que esta dentro da subview ele não funciona, fica totalmente sem funcionalidade.

Percebi que após a renderização da subview eu não consigo renderizar os componentes que estão dentro da mesma .

Como faço para renderizar(por AJAX) os componentes filhos da subview que acabei de renderizar por AJAX ?

segue o fontes JSF

<%@ page language=java contentType=text/html; charset=UTF-8

pageEncoding=UTF-8%>

<%@ taglib prefix=f uri=<a href="http://java.sun.com/jsf/core">http://java.sun.com/jsf/core</a>”%>

<%@ taglib prefix=h uri=<a href="http://java.sun.com/jsf/html">http://java.sun.com/jsf/html</a>”%>

<%@ taglib prefix=a4j uri=<a href="http://richfaces.org/a4j">http://richfaces.org/a4j</a>”%>

<%@ taglib prefix=rich uri=<a href="http://richfaces.org/rich">http://richfaces.org/rich</a>”%>

<f:subview id=“cadUser” rendered="#{indexHandler.viewCadUser}">

<a4j:loadStyle src="./include/css/user.css" />

<a4j:outputPanel id=“pnlTree” styleClass=“pnlTree”>

<a>a4j:form</a>

<rich:tree value="#{userHandler.treeGroup}" var=“group”>

<rich:treeNode icon="./include/image/icon/users.png" iconLeaf="./include/image/icon/user.png" >

<h:outputText value="#{group}" />

</rich:treeNode>

</rich:tree>

</a4j:form>

</a4j:outputPanel>

<rich:spacer height=“30”/>

<rich:panel styleClass=“panelCadUser” header=“Cadastro de Usuário”>

<h:panelGrid columns=“2” cellpadding=“5” style=“padding-left:10px”>

<h:outputText value=“Nome:” />

<h:inputText size=“50” />

<h:outputText value=“Email:” />

<h:inputText size=“35” />

<h:outputText value=“Login:” />

<h:inputText size=“20” />

<h:outputText value=“Senha:” />

<h:inputSecret size=“10” />

<h:outputText value=“Confirme Senha:” />

<h:inputSecret size=“10” />

<h:outputText value=“Status:” />

<h:selectOneMenu>

<f:selectItem itemLabel="" itemValue="" />

<f:selectItem itemLabel=“Ativo” itemValue=“Ativo” />

<f:selectItem itemLabel=“Inativo” itemValue=“Inativo” />

<f:selectItem itemLabel=“Travado” itemValue=“Travado” />

</h:selectOneMenu>

</h:panelGrid>




<rich:separator lineType=“solid” height=“1” />






<h:panelGrid columns=“2” cellpadding=“5”>

<h:commandButton value=“Limpar” />

<h:commandButton value=“Salvar” />

</h:panelGrid>

</rich:panel>

</f:subview>

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<%@ taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@ taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>
<%@ taglib prefix=“a4j” uri=“http://richfaces.org/a4j”%>
<%@ taglib prefix=“rich” uri=“http://richfaces.org/rich”%>

<a4j:outputPanel id="viewMain">
	<jsp:include page="./administrator/cadUser.jsp" />
	<jsp:include page="cadCleint.jsp" />
</a4j:outputPanel>

</f:view>

ellison

Amigo,

onde está o form ???

sauron_fight

Estou com um problema quero usar Richfaces e facelets.

coloquei no xhtml : xmlns:rich=“http://richfaces.org/rich

dentro do arquivo xhtml chamo o compomente richfaces: <rich:calendar></rich:calendar>

mais dentro dos componente richfaces não tenho acesso aos atributos, so tendo acesso ao atributo id, estou usando
facelets 1.1.14 e richfaces 3.3.0

Como esta :<rich:calendar></rich:calendar>

Como deveria esta <rich:calendar converter="" currentDate="" dayStyleClass=""> </rich:calendar>

Desde ja agradeco a todos.

ellison

Confira:

1 - Web.xml do richfaces
2 - Jars na pasta lib do projeto
3 - Se o problema não é a IDE

Consulte a documentação do facelets e do richfaces

abraço

sauron_fight

Voce teria algum exemplo da configuracao do web.xml para
a utilizacao do richfaces, ja que estou a IDE netBeans 6.8 e as lib do richfaces-api-3.3.0.GA richfaces-impl-3.3.0.GA
richfaces-ui-3.3.0.GA e jsf-facelets-1.1.14
o compomente <a4j: funcionada corretamente e so o danado do ><rich:>

ellison

Olha, ta ai um web.xml meu que to usando em um projeto agora.
Mas dá uma olhada na documentação do richfaces e facelets que lá tem tudo que você precisa pra poder configurar seu projeto.
Ahh verifica se as libs estão indo para o servidor juntamente com o projeto… e mais uma…
os seguintes jars tem q estar junto com o richfaces para ele funcionar:

  • common-annotations.jar
  • commons-beanutils.jar
  • commons-collections.jar
  • commons-digester.jar
  • commons-logging.jar
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"&gt;
  &lt;display-name&gt;CentralAtendimento&lt;/display-name&gt;
  &lt;context-param&gt;
    &lt;param-name&gt;javax.faces.DEFAULT_SUFFIX&lt;/param-name&gt;
    &lt;param-value&gt;.xhtml&lt;/param-value&gt;
  &lt;/context-param&gt;
  
  &lt;context-param&gt;
    &lt;param-name&gt;facelets.DEVELOPMENT&lt;/param-name&gt;
    &lt;param-value&gt;true&lt;/param-value&gt;
  &lt;/context-param&gt;
  
  &lt;context-param&gt;
    &lt;param-name&gt;javax.faces.STATE_SAVING_METHOD&lt;/param-name&gt;
    &lt;param-value&gt;server&lt;/param-value&gt;
  &lt;/context-param&gt;
  
  &lt;context-param&gt;
    &lt;param-name&gt;com.sun.faces.validateXml&lt;/param-name&gt;
    &lt;param-value&gt;true&lt;/param-value&gt;
  &lt;/context-param&gt;
  
  &lt;context-param&gt;
    &lt;param-name&gt;com.sun.faces.verifyObjects&lt;/param-name&gt;
    &lt;param-value&gt;false&lt;/param-value&gt;
  &lt;/context-param&gt;
  
  &lt;!-- [INICIO] Configuracao Richfaces --&gt;
  &lt;context-param&gt;
    &lt;param-name&gt;org.richfaces.SKIN&lt;/param-name&gt;
    &lt;param-value&gt;blueSky&lt;/param-value&gt;
  &lt;/context-param&gt;
  
  &lt;!-- Richfaces e facelets --&gt;
  &lt;context-param&gt;
     &lt;param-name&gt;org.ajax4jsf.VIEW_HANDLERS&lt;/param-name&gt;
     &lt;param-value&gt;com.sun.facelets.FaceletViewHandler&lt;/param-value&gt;
  &lt;/context-param&gt;
  
  &lt;filter&gt;
    &lt;display-name&gt;RichFaces Filter&lt;/display-name&gt;
    &lt;filter-name&gt;richfaces&lt;/filter-name&gt;
    &lt;filter-class&gt;org.ajax4jsf.Filter&lt;/filter-class&gt;
  &lt;/filter&gt;
  
  &lt;filter-mapping&gt;
    &lt;filter-name&gt;richfaces&lt;/filter-name&gt;
    &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
    &lt;dispatcher&gt;REQUEST&lt;/dispatcher&gt;
    &lt;dispatcher&gt;FORWARD&lt;/dispatcher&gt;
    &lt;dispatcher&gt;INCLUDE&lt;/dispatcher&gt;
  &lt;/filter-mapping&gt;
  
  &lt;listener&gt;
    &lt;listener-class&gt;com.sun.faces.config.ConfigureListener&lt;/listener-class&gt;
  &lt;/listener&gt;
  &lt;!-- [FIM] Configuracao Richfaces --&gt;
  
  &lt;!-- [INICIO] Configuracao JSF e Jeniachart --&gt;
  &lt;servlet&gt;
    	&lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
    	&lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;
    	&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
  &lt;/servlet&gt;
  &lt;servlet&gt;
  		&lt;servlet-name&gt;Jenia Servlet&lt;/servlet-name&gt;
  		&lt;servlet-class&gt;org.jenia.faces.util.Servlet&lt;/servlet-class&gt;
  		&lt;load-on-startup&gt;2&lt;/load-on-startup&gt;
  &lt;/servlet&gt;
  
  &lt;servlet-mapping&gt;
    	&lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
    	&lt;url-pattern&gt;*.faces&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt;
  &lt;servlet-mapping&gt;
  		&lt;servlet-name&gt;Jenia Servlet&lt;/servlet-name&gt;
  		&lt;url-pattern&gt;/jenia4faces/*&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt;
  &lt;!-- [FIM] Configuracao JSF e Jeniachart --&gt;
  
  &lt;security-constraint&gt;	 
    &lt;display-name&gt;Restrict XHTML Documents&lt;/display-name&gt;
    &lt;web-resource-collection&gt;
      &lt;web-resource-name&gt;XHTML&lt;/web-resource-name&gt;
      &lt;url-pattern&gt;*.xhtml&lt;/url-pattern&gt;
    &lt;/web-resource-collection&gt;
  &lt;/security-constraint&gt;
  
  &lt;resource-ref&gt;
  	&lt;description&gt;Connection pool&lt;/description&gt;
  	&lt;res-ref-name&gt;jdbc/jpa_tutorial&lt;/res-ref-name&gt;
  	&lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
  	&lt;res-auth&gt;Container&lt;/res-auth&gt;
  &lt;/resource-ref&gt;
  
  &lt;login-config&gt;
    &lt;auth-method&gt;BASIC&lt;/auth-method&gt;
  &lt;/login-config&gt;
  
  &lt;welcome-file-list&gt;
    &lt;welcome-file&gt;forward.jsp&lt;/welcome-file&gt;
  &lt;/welcome-file-list&gt;
&lt;/web-app&gt;
Criado 1 de abril de 2009
Ultima resposta 28 de jun. de 2010
Respostas 14
Participantes 5