Socorro! - RichFaces e GlassFish V2

5 respostas
A

Olá!

Preciso com urgencia de uma ajuda com um bug que tá acontecendo.

Página Jsp:

<h:panelGroup>            
                <rich:panel header="Funcionalidades"  bodyClass="col1">
	  				  <rich:panelMenu binding="#{aplicativoMg.panelMenu}">
					  </rich:panelMenu>						
				</rich:panel>	
	</h:panelGroup>
ManagedBean: 1) Construtor
public AplicativoMgBean() {
			requerido = false;
			principal = (PrincipalMgBean) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("principalMg");
			
			aplicativo = principal.getAplicativo();			
			setFuncionalidades(AplicativoControl.listaFuncionalidades(aplicativo));	           
	           
		  	 panelMenu = new HtmlPanelMenu( );
		  	 panelMenu.setRendered( true );			    
		  
		  	 panelMenu.setId("panelMenu");
	         panelMenu.setStyle("width:200px");
	         panelMenu.setMode("ajax");	     
	         panelMenu.setIconExpandedGroup("chevron");
	         panelMenu.setIconCollapsedGroup("triangle");
	         panelMenu.setIconExpandedTopGroup("chevronDown");
	         panelMenu.setIconGroupTopPosition("right");
	         panelMenu.setIconCollapsedTopGroup("chevronUp");    
	         panelMenu.setIconGroupTopPosition("right");
          
	}

2) Método que preenche o panelmenu:

private void montaPanelMenuGroup(List<Funcionalidade> listFuncionalidades, UIInput panel){
		  for( Funcionalidade funcionalidade : listFuncionalidades ){	      			
			  
	          	HtmlPanelMenuGroup menuGroup = new HtmlPanelMenuGroup( );
	          	menuGroup.setAjaxSingle(true);    
	          	menuGroup.setExpandMode("ajax");
	            menuGroup.setName(funcionalidade.getIdentificador( ) + "_" + funcionalidade.getNome( ));    	
	            menuGroup.setLabel(funcionalidade.getNome());          
		    
	            
	           HtmlAjaxSupport ajaxSupport = new HtmlAjaxSupport();
	    	   ajaxSupport.setEvent("onclick");
	    	   ajaxSupport.setReRender("ajaxFunc:gridFuncionalidades" );      	    	        		
	    		
				    		try  
				            {    Class[ ] parameterList = { Class.forName("javax.faces.event.ActionEvent") };   
				                MethodBinding actionListenerBinding = 
				                		FacesContext.getCurrentInstance().getApplication().createMethodBinding("#{aplicativoMg.recuperaFuncionalidade}", parameterList);   
				                		ajaxSupport.setActionListener(actionListenerBinding );   
				            }   
				            catch (Exception e)   
				           {   
				               e.printStackTrace( );
				            }  	          
	              
	    	
	    		menuGroup.getFacets().put("a4jsupport", ajaxSupport);		    	  
	    		menuGroup.getChildren().add(ajaxSupport);	 	            
	                  
	    		panel.getChildren().add(menuGroup);   
          }
 }

Estava usando localmente o GlassFIsh V3, e tudo tava funcionando perfeitamente...
porém, ao fazer um deploy para colocar o sistema no servidor de desenvolvimento ( GlassFish V2 )para
testes, tá a contecendo um problemão... :cry:

Dinamicamente, coloco um evento actionListener no HtmlPanelMenuGroup,
para que, ao clicar num menu, ele possa criar dinamicamente os itens (HtmlPanelMenuItem)

Com o GlassFish V3, este evento é disparado normalmente, porém, no V2, não funciona...
É como se existisse um bug, incompatibilidade, sei lá...

Agora to desesperada!!! Tá tudo pronto, levei um tempão pra fazer,
e a meleca não funciona...

Galera, não tenho tempo pra refazer tudo, preciso de uma solução
para que ele funcione no GlassFish V2!!!

Heeeeelllppppp!!!! :?

5 Respostas

Rafael_Carneiro

Lança alguma exceção?

A

Não, não lança. Apenas um warning:

PWC4011: Unable to set request character encoding to UTF-8

Mas eu axo que este não é o problema…

[]'s

A

O Log do GlassFish V2 tá mostrando este Warning, quando eu clico no panelMenuGroup.
Era pra ele abrir o método aplicativoMg.recuperaFuncionalidade, conforme
está no código acima.

Log Entry Detail   


Timestamp  Dec 23, 2008 17:40:20.558 
Log Level  WARNING 
Logger  org.apache.coyote.tomcat5.CoyoteRequest 
Name-Value Pairs  _ThreadID=22;_ThreadName=httpSSLWorkerThread-8080-0;_RequestID=f7974e2a-39fd-4b84-8a59-f6909f09e216; 
Record Number  143 
Message ID  PWC4011 
Complete Message  Unable to set request character encoding to UTF-8 from context /SGA-Plus, because request parameters have already been read, or ServletRequest.getReader() has already been called
A

Parece que ele não está fazendo o reRender…

A

Fiz + alguns teste, tá dando esse erro aki:

Caused by: javax.el.ELException: AjaxUpdate component not found for id: :formFunc:j_id_id177:ajaxFunc:null
        at org.ajax4jsf.component.EventValueExpression.getComponent(EventValueExpression.java:65)
        at org.ajax4jsf.component.EventValueExpression.getValue(EventValueExpression.java:113)
        at org.richfaces.component.html.HtmlPanelMenuGroup.getOnclick(HtmlPanelMenuGroup.java:1108)
        ... 96 more
Criado 23 de dezembro de 2008
Ultima resposta 23 de dez. de 2008
Respostas 5
Participantes 2