[jboss-user] [JBoss Seam] - Re: Problems using Ajax4jsf to Seam Hibernate3 sample app

yj4jboss do-not-reply at jboss.com
Mon Oct 9 06:49:43 EDT 2006


Hello Todd,
    Thnx for helping out with the Ajax Implementation on JBoss. I have managed to get it working with command buttons....I am now trying to implement the example found at http://livedemo.exadel.com/a4j-dropDownBoxes/ 


My SFSB is as follows:


  | 
  | @Stateful
  | @Scope(ScopeType.SESSION)
  | @Name("AjaxBean")
  | public class AjaxBean implements AjaxBeanLocal{
  | 
  |    private static final Log log = LogFactory.getLog(AjaxBean.class);	
  | 	
  |    
  |    private String property;
  |    
  |    private String property_text;
  | 
  | 
  |    public String getProperty_text() {
  | 	return property_text;
  | }
  | 
  | 
  |    public void setProperty_text(String property_text) {
  | 	   this.property_text = property_text;
  |    }
  | 
  | 
  | 
  |    public String getProperty() {
  | 	   return property;
  |    }
  | 
  | 
  | 
  | 	public void setProperty(String property) {
  | 	   this.property = property;
  |    }
  |    
  |    	public void setProperty(){
  | 		log.debug("Setting Property to PropertyText");
  | 	   this.property = this.getProperty_text();
  |    }
  |    
  | 
  | 	@Remove @Destroy
  | 	public void destroy(){
  | 		
  | 	}
  |    
  |    	
  | }
  | 
  | 


My XHTML page is as follows:


  | 
  | <!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:s="http://jboss.com/products/seam/taglib"
  | 	xmlns:ui="http://java.sun.com/jsf/facelets"
  | 	xmlns:f="http://java.sun.com/jsf/core"
  |     xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"	
  | 	xmlns:h="http://java.sun.com/jsf/html">
  | 
  | <body>
  | <f:loadBundle basename="messages" var="msg"/>
  | <ui:composition template="/WEB-INF/layout/template.xhtml">
  | 
  | 	<ui:define name="header">
  | 		<ui:include src="/WEB-INF/layout/header.xhtml" />
  | 	</ui:define>
  | 
  | 	<ui:define name="body">
  | 
  | <f:view>
  | 	<a4j:region selfRendered="true"> 
  | 		<a4j:form>
  | 		<a4j:status startStyle="font-color:red" stopText="Ready" startText="Request under process"/>
  | 
  | 
  | 		<h:panelGroup style="display:block" id="menuValue" styleClass="px10">
  | 			This is a Test #{AjaxBean.property}		
  | 		</h:panelGroup>
  | 
  | 		
  | 
  | 		<h:panelGroup id="selectMenu">
  | 			<h:selectOneMenu value="#{AjaxBean.property}">
  | 				<f:selectItem itemValue="car" itemLabel="Car" />
  | 				<f:selectItem itemValue="motorcycle" itemLabel="Motorcycle" />
  | 
  | 				<a4j:support event="onchange" action="#{AjaxBean.setProperty}"
  | 					reRender="menuValue" />
  | 			</h:selectOneMenu>
  | 		</h:panelGroup>
  | 
  | 		</a4j:form>
  | 	</a4j:region>
  | </f:view>	
  | 	</ui:define>
  | 
  | 	<ui:define name="footer">
  | 		<ui:include src="/WEB-INF/layout/footer.xhtml" />
  | 	</ui:define>
  | 
  | </ui:composition>
  | </body>
  | </html>
  | 
  | 




When i change the value in the drop down menu, i whole page is re-rendered and only the following line is displayed:


  | <span id="ajax-update-ids"
  | 


And this is the stack trace in my log file:




  | 
  | 2006-10-09 14:44:33,578 DEBUG [org.ajax4jsf.framework.renderer.AjaxContainerRenderer] AjaxView RenderChildren() components for AJAX request 
  | 2006-10-09 14:44:33,578 DEBUG [org.ajax4jsf.framework.renderer.AjaxRendererUtils] Calculate absolute ID for component _id5 as :_id5
  | 2006-10-09 14:44:33,578 DEBUG [org.ajax4jsf.framework.renderer.AjaxContainerRenderer] AjaxView encodeChild component for AJAX request with at path : ID _id5
  | 2006-10-09 14:44:33,578 DEBUG [org.ajax4jsf.framework.renderer.AjaxContainerRenderer] AjaxView encodeChild component for AJAX request with at path : ID _id7
  | 2006-10-09 14:44:33,578 DEBUG [org.ajax4jsf.framework.renderer.AjaxContainerRenderer] AjaxView encodeChild component for AJAX request with at path :_id7: ID _id8
  | 2006-10-09 14:44:33,578 DEBUG [org.ajax4jsf.framework.renderer.AjaxContainerRenderer] Render Ajax Area component with ID :_id7:menuValue
  | 2006-10-09 14:44:33,578 DEBUG [org.ajax4jsf.framework.renderer.AjaxContainerRenderer] AjaxView encodeChild component for AJAX request with at path :_id7: ID selectMenu
  | 2006-10-09 14:44:33,578 DEBUG [org.ajax4jsf.framework.renderer.AjaxContainerRenderer] AjaxView encodeChild component for AJAX request with at path :_id7: ID _id10
  | 2006-10-09 14:44:33,578 DEBUG [org.ajax4jsf.framework.renderer.AjaxContainerRenderer] AjaxView encodeChild component for AJAX request with at path :_id7: ID _id13
  | 2006-10-09 14:44:33,578 DEBUG [org.ajax4jsf.framework.renderer.AjaxContainerRenderer] AjaxView encodeChild component for AJAX request with at path :_id7: ID _id11
  | 2006-10-09 14:44:33,578 DEBUG [org.ajax4jsf.framework.renderer.AjaxContainerRenderer] AjaxView encodeChild component for AJAX request with at path :_id7: ID _id12
  | 2006-10-09 14:44:33,578 ERROR [org.apache.myfaces.lifecycle.PhaseListenerManager] Exception in PhaseListener RENDER_RESPONSE(6) beforePhase.
  | java.lang.NullPointerException
  | 	at com.sun.facelets.FaceletViewHandler.writeState(FaceletViewHandler.java:722)
  | 	at org.ajax4jsf.framework.renderer.AjaxRendererUtils.writeState(AjaxRendererUtils.java:850)
  | 	at org.ajax4jsf.framework.renderer.AjaxRendererUtils.encodeAreas(AjaxRendererUtils.java:740)
  | 	at org.ajax4jsf.framework.renderer.AjaxContainerRenderer.encodeAjax(AjaxContainerRenderer.java:128)
  | 	at org.ajax4jsf.ajax.UIAjaxRegion.encodeAjax(UIAjaxRegion.java:210)
  | 	at org.ajax4jsf.framework.ajax.AjaxContext.renderAjaxRegion(AjaxContext.java:256)
  | 	at org.ajax4jsf.framework.ajax.AjaxRegionBrige.broadcast(AjaxRegionBrige.java:315)
  | 	at org.ajax4jsf.ajax.UIAjaxRegion.broadcast(UIAjaxRegion.java:87)
  | 	at org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:274)
  | 	at org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastAjaxEvents(AjaxViewRoot.java:290)
  | 	at org.ajax4jsf.framework.renderer.AjaxRenderPhaseListener.processAjaxRender(AjaxRenderPhaseListener.java:150)
  | 	at org.ajax4jsf.framework.renderer.AjaxRenderPhaseListener.beforePhase(AjaxRenderPhaseListener.java:134)
  | 	at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:70)
  | 	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:373)
  | 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 	at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:45)
  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 	at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 	at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:67)
  | 	at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:223)
  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  | 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  | 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
  | 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  | 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  | 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  | 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  | 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  | 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
  | 	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
  | 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
  | 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  | 	at java.lang.Thread.run(Thread.java:595)
  | 
  | 
  | 


Any hint of whats wrong in my code ??

Thnx for your help


Yogesh
M-ITC LTD
http://www.m-itc.net

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3976943#3976943

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3976943



More information about the jboss-user mailing list