users@woodstock.java.net

Re: Table + AJAX

From: Xiaofeng Lin <xlin_at_xsigo.com>
Date: Thu, 29 Nov 2007 10:01:10 -0800

Stuartr,

I remember that I had the similar issue sometime ago. Here the message
link,

https://woodstock.dev.java.net/servlets/ReadMsg?listName=users&msgNo=106

It somehow solved my problem. You may want to try it out. BTW, I ran
woodstock on Tomcat6+Java5 or 6.

Thanks,
--
Xiaofeng
stuartr wrote:
> Dan
> frustrated to the nth degree with this framework
> However I converted from facelets to jsftemplating as I noticed in the ref
> example that I deployed, that
> everything worked. 
> However I get the following exception within jsftemplating on my widget
> components
>
>
> type Exception report
>
> message
>
> description The server encountered an internal error () that prevented it
> from fulfilling this request.
>
> exception
>
> org.apache.jasper.JasperException: javax.servlet.ServletException: Could not
> find type conversion for type "class javax.faces.el.MethodBinding" (value =
> "sqlReports"
>
> org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:532)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:408)
> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> root cause
>
> javax.servlet.ServletException: Could not find type conversion for type
> "class javax.faces.el.MethodBinding" (value = "sqlReports"
> 	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
>
> org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:699)
> 	org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:670)
> 	org.apache.jsp.index_jsp._jspService(index_jsp.java:54)
> 	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> root cause
>
> java.lang.IllegalArgumentException: Could not find type conversion for type
> "class javax.faces.el.MethodBinding" (value = "sqlReports"
> 	com.sun.jsftemplating.util.TypeConverter.asType(TypeConverter.java:260)
>
> com.sun.jsftemplating.component.factory.ComponentFactoryBase.setOption(ComponentFactoryBase.java:169)
>
> com.sun.jsftemplating.component.factory.ComponentFactoryBase.setOptions(ComponentFactoryBase.java:104)
>
> com.sun.jsftemplating.component.factory.basic.GenericFactory.create(GenericFactory.java:86)
>
> com.sun.jsftemplating.component.ComponentUtil.createChildComponent(ComponentUtil.java:397)
>
> com.sun.jsftemplating.layout.descriptors.LayoutComponent.getChild(LayoutComponent.java:277)
>
> com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:528)
>
> com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:543)
>
> com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:543)
>
> com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:482)
>
> com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:520)
>
> com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:543)
>
> com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:543)
>
> com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:543)
>
> com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:543)
>
> com.sun.jsftemplating.layout.LayoutViewHandler.buildUIComponentTree(LayoutViewHandler.java:482)
>
> com.sun.jsftemplating.layout.LayoutViewHandler.createView(LayoutViewHandler.java:234)
> 	com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:201)
> 	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
> 	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>
> com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.execute(PartialTraversalLifecycle.java:94)
> 	javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
>
> org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:699)
> 	org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:670)
> 	org.apache.jsp.index_jsp._jspService(index_jsp.java:54)
> 	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
> 	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
> 	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
> 	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> note The full stack trace of the root cause is available in the Apache
> Tomcat/6.0.10 logs.
>
>
> Cant find any details on how to configure jsftemplating to use the facelets
> syntax.
> All my components
> eg <webuijsf:button actionExpression="dosomething" />
>
> cause an error. The templating doesnt seem to be able to render the type for
> a method expression 
> Guess I need an example web.xml file and faces config file to see what I
> have to set up. 
> The example which is supposed to be on line at the jsf templating web site
> is not there. 
> Get error trying to access.
>
>
> Dan Labrecque wrote:
>   
>> stuartr wrote:
>>     
>>> Dan you have mis understood me entirely
>>>
>>> Forget the table example . As I said I put in a simple example to try out
>>> the JSF dynamic aspect
>>> 1 label 1 text field 1 radio button
>>>
>>> radio button set to onclick, call javascript. 
>>> document look up on the text field and label . All ok
>>> refresh executed, the backing bean gets invoked ( meaning that everything
>>> is
>>> set up ok ). 
>>> The get method , to update the label on the screen definitely gets
>>> invoked,
>>> but when JSF tries to 
>>> return the value, thats when the exception occurs. Not within my get
>>> method,
>>> but within the JSF renderer
>>> ( as listed in previous threads ). 
>>>   
>>>       
>> I want to help, but don't know what else to tell you. Unless you can 
>> provide an example for me to look at? I need to compare your code 
>> against our own examples.
>>     
>>> I take on board all your points but I knew about them already, and had
>>> ensured that none of these were causing me a problem . So the table is a
>>> red
>>> herring in this case. 
>>> How about just getting a better exception message in place to see the
>>> actual
>>> class that is being sent to the renderer. By saying that UIComponent is
>>> expected tells us nothing other than a class incompatability with a
>>> parameter being passed. 
>>>   
>>>       
>> The exception is thrown by JSF extensions partial life cycle (aka. 
>> Dynamic Faces). JSF didn't find your component, so the Woodstock code is 
>> never invoked.
>>
>> Dan
>>
>>     
>>>
>>> Dan Labrecque wrote:
>>>   
>>>       
>>>> It is very difficult to debug over e-mail, but there may be a couple 
>>>> simple tests you can run. For example, add your hidden fields directly 
>>>> in the "<webuijsf:form" body -- this takes the subview and table out of 
>>>> the equation. If your code still does not function, then there may be a 
>>>> problem with JSF and Facelets.
>>>>
>>>> If JSF is saying there is no UIComponent, there are only a couple cases 
>>>> I can think of where this might happen.
>>>>
>>>> 1. You have not provided the correct component ids to the refresh 
>>>> function. I'm suspicious because the tableRowGroup should output an id 
>>>> like so:
>>>>
>>>> 	"form1:table1:rowGroup1:2:col1:j_id_id27"
>>>>
>>>> You're calling:
>>>>
>>>> 	columnDomNode.refresh("toplevelform:j_id26:var3");
>>>>
>>>> Note that there is no row index here, so it doesn't seem as if you're 
>>>> working with a table. Perhaps this thread has the wrong subject???
>>>>
>>>> 2. You have not provided an id to all tags. If the page changes at all 
>>>> (e.g., a component is hidden/added/removed), JSF will generate different 
>>>> ids. This would result in JSF not being able to locate your subview.
>>>>
>>>> Using "toplevelform:j_id26:var3" as an example, I can see that you have 
>>>> not provided an id for the subview.  I suspect this may be your problem 
>>>> -- these ids are not maintained and generated dynamically during each 
>>>> request.
>>>>
>>>> 3. The component does not exist in the JSF component tree. This could 
>>>> happen if you create components dynamically (e.g., via Java) and have 
>>>> not assigned a parent or added the component as a child.
>>>>
>>>> 4. The component tree may not have been reconstituted. This could be an 
>>>> issue with Facelets and JSF. It may also a problem with the web 
>>>> container you're using. What are you using as a web container?
>>>>
>>>> 5. The table cannot find the component associated with the id given to 
>>>> the refresh function. This could be due to #4 or #3, but moving the 
>>>> hidden fields outside the table (in the test above) will prove that.
>>>>
>>>> Sorry I cannot be more helpful,
>>>> Dan
>>>>
>>>> stuartr wrote:
>>>>     
>>>>         
>>>>> yes they belong to the parent . They are defined within my xhtml
>>>>> file(s) 
>>>>>
>>>>> The hierachy is something like 
>>>>>
>>>>> myform:mysubview:componentX
>>>>>
>>>>>
>>>>> The items belong to a <f:subview id="mysubview"
>>>>>
>>>>> which belongs to the top level view .
>>>>>
>>>>>
>>>>> Any way of tracing at the server side ( log4j logger ??? debug levels
>>>>> ???
>>>>> )
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Dan Labrecque wrote:
>>>>>   
>>>>>       
>>>>>           
>>>>>> That would explain why the component isn't updated client-side. I
>>>>>> don't 
>>>>>> know what JSON properties you previously saw in Firebug, but it seems 
>>>>>> the response may not be generated correctly. In order to update 
>>>>>> client-side, the response must have JSON properties containing an id, 
>>>>>> value, etc.
>>>>>>
>>>>>> Are you're hidden fields part of the JSF component tree (i.e., did you 
>>>>>> set a parent, add the component as a child, etc.)? All JSF based 
>>>>>> components must have an id and parent in order to be placed in the JSF 
>>>>>> component tree. When an Ajax request is generated, Dynamic Faces will 
>>>>>> attempt to locate the given ids (execute params) in the JSF component 
>>>>>> tree in order to decode/validate/update and ultimately render.
>>>>>>
>>>>>> Dan
>>>>>>
>>>>>> stuartr wrote:
>>>>>>     
>>>>>>         
>>>>>>             
>>>>>>> getting an error from Httprequest on ajax. 
>>>>>>> basically, when I look at firebug I get 
>>>>>>>
>>>>>>>
>>>>>>> <pre>java.lang.IllegalStateException: Class returned from
>>>>>>> AsyncResponse.getPartialTraversalViewRoot
>>>>>>>
>>>>>>>  must be a UIComponent
>>>>>>>
>>>>>>>
>>>>>>> com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.render(PartialTraversalLifecycle
>>>>>>>
>>>>>>> .java:132)
>>>>>>>
>>>>>>> 	javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
>>>>>>>
>>>>>>> </pre></p><p>note <u>The full stack trace of the root cause is
>>>>>>> available
>>>>>>> in
>>>>>>> the Apache Tomcat
>>>>>>>
>>>>>>>
>>>>>>> I will forward on details on error in tomcat however, the request
>>>>>>> actually
>>>>>>> does get sent to the server, its the response that is in error.
>>>>>>>
>>>>>>> Any ideas. ????
>>>>>>> ( really need this working, deadline approxing )
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Dan Labrecque wrote:
>>>>>>>   
>>>>>>>       
>>>>>>>           
>>>>>>>               
>>>>>>>> stuartr wrote:
>>>>>>>>     
>>>>>>>>         
>>>>>>>>             
>>>>>>>>                 
>>>>>>>>> Dont understand you dan ?
>>>>>>>>>   
>>>>>>>>>       
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>                   
>>>>>>>> If the backing bean is request scoped, subsequent refresh calls will
>>>>>>>> not 
>>>>>>>> retain local values as you might expect. Local variables will be set
>>>>>>>> for 
>>>>>>>> the current request, but unless the bean is session scoped, any
>>>>>>>> values 
>>>>>>>> you previously set will be lost. Therefore, I have to ask again; is
>>>>>>>> your 
>>>>>>>> backing bean session scoped?
>>>>>>>>
>>>>>>>>     
>>>>>>>>         
>>>>>>>>             
>>>>>>>>                 
>>>>>>>>> The backing bean is being invoked based on the refresh, I can see
>>>>>>>>> the
>>>>>>>>> getMethods getting invoked , however, nothing is updated at the
>>>>>>>>> client
>>>>>>>>> side. 
>>>>>>>>> I have debug at the backing end to show me what is being returned
>>>>>>>>> to
>>>>>>>>> the
>>>>>>>>> client. 
>>>>>>>>> I see the actual value being returned 
>>>>>>>>> such as 
>>>>>>>>>
>>>>>>>>> public String getVar1Value() {
>>>>>>>>>
>>>>>>>>>    if ( cachedRowSetListener == null ) {
>>>>>>>>>              rtn="initialvalue";
>>>>>>>>>    } else {
>>>>>>>>>
>>>>>>>>>         .....do some work ....
>>>>>>>>>         rtn = blablbal
>>>>>>>>>    }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>     logger.debug("The value being returned to client is "+rtn);
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    return rtn;
>>>>>>>>>
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I just sent the example to simplify what I was doing. 
>>>>>>>>>
>>>>>>>>> Within the logger line I see the value changes. I also see the JSON
>>>>>>>>> response
>>>>>>>>> to the client within firebug, but nothing happens on screen. And
>>>>>>>>> when
>>>>>>>>> I
>>>>>>>>> do
>>>>>>>>> any alerts in my code in the client to check the values of the
>>>>>>>>> local
>>>>>>>>> dom
>>>>>>>>> object ( ie the hidden fields/text fields whatever ) they still
>>>>>>>>> have
>>>>>>>>> their
>>>>>>>>> old value. 
>>>>>>>>>   
>>>>>>>>>       
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>                   
>>>>>>>> Looking at the "logger" output may not be enough. The table iterates 
>>>>>>>> over many rows, so I cannot be certain which component you're
>>>>>>>> actually 
>>>>>>>> dealing with. Looking at the response in Firebug may be your best
>>>>>>>> bet. 
>>>>>>>> If you can see the desired value being returned, via JSON
>>>>>>>> properties, 
>>>>>>>> then we can go from there. What does the response look like?
>>>>>>>>
>>>>>>>> Dan
>>>>>>>>
>>>>>>>>     
>>>>>>>>         
>>>>>>>>             
>>>>>>>>                 
>>>>>>>>> Dan Labrecque wrote:
>>>>>>>>>   
>>>>>>>>>       
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>                   
>>>>>>>>>> Considering your code is based on a local "firstTime" variable, is
>>>>>>>>>> your 
>>>>>>>>>> bean session scoped? If the bean is request scoped, "firstTime"
>>>>>>>>>> will
>>>>>>>>>> be 
>>>>>>>>>> initialized similarly during each request.
>>>>>>>>>>
>>>>>>>>>> FYI, instead of refreshing each hidden field separately, you could
>>>>>>>>>> use 
>>>>>>>>>> the following code, instead. Note that when the component id is
>>>>>>>>>> not 
>>>>>>>>>> provided, the refresh function acts as a reset. That is, the
>>>>>>>>>> component 
>>>>>>>>>> will be redrawn only using values set server-side.
>>>>>>>>>>
>>>>>>>>>>     newurlNode.refresh("toplevelform:j_id26:var1,
>>>>>>>>>> 	toplevelform:j_id26:var2,
>>>>>>>>>> 	toplevelform:j_id26:var3");
>>>>>>>>>>
>>>>>>>>>> Dan
>>>>>>>>>>
>>>>>>>>>> stuartr wrote:
>>>>>>>>>>     
>>>>>>>>>>         
>>>>>>>>>>             
>>>>>>>>>>                 
>>>>>>>>>>                     
>>>>>>>>>>> Sure
>>>>>>>>>>>
>>>>>>>>>>> What happens is that I generate a table using a binding and
>>>>>>>>>>> within
>>>>>>>>>>> the
>>>>>>>>>>> table
>>>>>>>>>>> there is a column 
>>>>>>>>>>> which is a hyper link. 
>>>>>>>>>>> I have defined an onclick to invoke a javascript function. 
>>>>>>>>>>>
>>>>>>>>>>> I also have 3 hidden variables as
>>>>>>>>>>> <webuijsf:hidden id="var1" value="#{backingBean.var1Value}" />
>>>>>>>>>>> <webuijsf:hidden id="var2" value="#{backingBean.var2Value}" />
>>>>>>>>>>> <webuijsf:hidden id="var3" value="#{backingBean.var3Value}" />
>>>>>>>>>>>
>>>>>>>>>>>  function linkClicked(row,data) {
>>>>>>>>>>>         
>>>>>>>>>>>         alert("User has pressed something on row "+row+" Data
>>>>>>>>>>> item
>>>>>>>>>>> "+data);
>>>>>>>>>>>         
>>>>>>>>>>>        
>>>>>>>>>>> newurlNode=document.getElementById("toplevelform:j_id26:var3");
>>>>>>>>>>>         alert("Present value is "+newurlNode.text);
>>>>>>>>>>>         
>>>>>>>>>>>         // okay we have a drilldown on data within a panel of
>>>>>>>>>>> reports. 
>>>>>>>>>>>        
>>>>>>>>>>> rowDomNode=document.getElementById("toplevelform:j_id26:va1");
>>>>>>>>>>>         rowDomNode.value=row;
>>>>>>>>>>>        
>>>>>>>>>>> columnDomNode=document.getElementById("toplevelform:j_id26:var2");
>>>>>>>>>>>         columnDomNode.value=data;
>>>>>>>>>>>         
>>>>>>>>>>>        
>>>>>>>>>>> rowDomNode.refresh("toplevelform:j_id26:var1,toplevelform:j_id26:var2");
>>>>>>>>>>>         
>>>>>>>>>>>         // now refresh the actual new urlnode to having a new
>>>>>>>>>>> value.        
>>>>>>>>>>>         
>>>>>>>>>>>         columnDomNode.refresh("toplevelform:j_id26:var3");
>>>>>>>>>>>         
>>>>>>>>>>>        
>>>>>>>>>>> newurlNode=document.getElementById("toplevelform:j_id26:var3");
>>>>>>>>>>>         
>>>>>>>>>>>         newurlNode.refresh(); // get the value from the back end.
>>>>>>>>>>>         
>>>>>>>>>>>         
>>>>>>>>>>>         alert("THe value should have changed by now
>>>>>>>>>>> "+newurlNode.value);
>>>>>>>>>>>         
>>>>>>>>>>>         popupWin = window.open(newurlNode.value,'View File
>>>>>>>>>>> Link','scrollbars,resizable,width=700,height=900,top='+((screen.height
>>>>>>>>>>> -
>>>>>>>>>>> (screen.height/1.618)) - (500/2))+',left='+((screen.width-650)/2)
>>>>>>>>>>> ); 
>>>>>>>>>>>   
>>>>>>>>>>>      }
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Now I now that the backing bean is being called as by log4j
>>>>>>>>>>> output
>>>>>>>>>>> shows
>>>>>>>>>>> that the setter method is being invoked 
>>>>>>>>>>>
>>>>>>>>>>> public String getVar3Value() {
>>>>>>>>>>> String rtn="INITIALVALUE";
>>>>>>>>>>>
>>>>>>>>>>> if ( !firstTime ) {
>>>>>>>>>>>    .....do some work...
>>>>>>>>>>>    rtn="value from doing work";
>>>>>>>>>>> } 
>>>>>>>>>>>
>>>>>>>>>>> return rtn;
>>>>>>>>>>> }
>>>>>>>>>>>
>>>>>>>>>>> Everything works all the way to the return statement. However the
>>>>>>>>>>> new
>>>>>>>>>>> value
>>>>>>>>>>> never gets reflected in the client. 
>>>>>>>>>>> The client just stays at the initial value which was set within
>>>>>>>>>>> getVar3Value
>>>>>>>>>>> the first time the code was called. 
>>>>>>>>>>> I have debug within the if block so I can see exactly what is
>>>>>>>>>>> getting
>>>>>>>>>>> called, the client just never updates the value . 
>>>>>>>>>>>
>>>>>>>>>>> Also, I tried a hyperlink on the screen as per the examples
>>>>>>>>>>> within
>>>>>>>>>>> woodstock
>>>>>>>>>>> and I expected to see the hyperlink change however, nothing
>>>>>>>>>>> happens. 
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Anyhelp appreciated. 
>>>>>>>>>>>
>>>>>>>>>>> Thanks
>>>>>>>>>>>
>>>>>>>>>>> ( Ps Im using nearly all of the woodstock components within this
>>>>>>>>>>> application
>>>>>>>>>>> so im quite used to the syntax and model )
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Venkatesh Babu-5 wrote:
>>>>>>>>>>>   
>>>>>>>>>>>       
>>>>>>>>>>>           
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>>>>>>                       
>>>>>>>>>>>> Could you show the code snippet for the ajax refresh you are
>>>>>>>>>>>> doing.
>>>>>>>>>>>> How are you updating the server side data and doing the label
>>>>>>>>>>>> refresh.
>>>>>>>>>>>>
>>>>>>>>>>>> -Venky
>>>>>>>>>>>>
>>>>>>>>>>>> stuartr wrote:
>>>>>>>>>>>>     
>>>>>>>>>>>>         
>>>>>>>>>>>>             
>>>>>>>>>>>>                 
>>>>>>>>>>>>                     
>>>>>>>>>>>>                         
>>>>>>>>>>>>> Guys
>>>>>>>>>>>>> Im having a problem with any of the textfield, hidden ,
>>>>>>>>>>>>> hyperlink
>>>>>>>>>>>>> etc
>>>>>>>>>>>>> to
>>>>>>>>>>>>> allow for ajax refresh. 
>>>>>>>>>>>>> My code has an onclick which updates the server side, and then
>>>>>>>>>>>>> invokes
>>>>>>>>>>>>> a
>>>>>>>>>>>>> refresh on a label
>>>>>>>>>>>>> I have on the screen. Basically, the code at the back end bean
>>>>>>>>>>>>> gets
>>>>>>>>>>>>> invoked
>>>>>>>>>>>>> to get the new value
>>>>>>>>>>>>> for the label, and using firebug I can see the request. 
>>>>>>>>>>>>> However, nothing happens at the client side. the label just
>>>>>>>>>>>>> never
>>>>>>>>>>>>> changes
>>>>>>>>>>>>> its value. 
>>>>>>>>>>>>>
>>>>>>>>>>>>> Im using facelets along with my woodstock components. 
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Stu
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Dan Labrecque wrote:
>>>>>>>>>>>>>   
>>>>>>>>>>>>>       
>>>>>>>>>>>>>           
>>>>>>>>>>>>>               
>>>>>>>>>>>>>                   
>>>>>>>>>>>>>                       
>>>>>>>>>>>>>                           
>>>>>>>>>>>>>> The prototype was available in the Woodstock milestone builds,
>>>>>>>>>>>>>> but
>>>>>>>>>>>>>> is 
>>>>>>>>>>>>>> disabled for the official 4.1 release. It will be enabled
>>>>>>>>>>>>>> again
>>>>>>>>>>>>>> in
>>>>>>>>>>>>>> the 
>>>>>>>>>>>>>> 4.2 milestone builds as we complete the widget.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Dan
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Lking wrote:
>>>>>>>>>>>>>>     
>>>>>>>>>>>>>>         
>>>>>>>>>>>>>>             
>>>>>>>>>>>>>>                 
>>>>>>>>>>>>>>                     
>>>>>>>>>>>>>>                         
>>>>>>>>>>>>>>                             
>>>>>>>>>>>>>>> Thanks Dan.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Is this "table2" available for trying?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Nov 21, 2007 6:46 PM, Dan Labrecque <Dan.Labrecque_at_sun.com 
>>>>>>>>>>>>>>> <mailto:Dan.Labrecque_at_sun.com>> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>     Not all components support this API -- please see the TLD
>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>     supported
>>>>>>>>>>>>>>>     JavaScript features. There is a table2 component in the
>>>>>>>>>>>>>>> works
>>>>>>>>>>>>>>>     which is
>>>>>>>>>>>>>>>     fully Ajax enabled and supports the refresh feature.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>     Dan
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>     Lking wrote:
>>>>>>>>>>>>>>>     > How can I get a client-side update with the Table
>>>>>>>>>>>>>>> component?
>>>>>>>>>>>>>>>     > I was trying something like...
>>>>>>>>>>>>>>>     >
>>>>>>>>>>>>>>>     >
>>>>>>>>>>>>>>>    
>>>>>>>>>>>>>>> onChange="document.getElementById('form1:table1').refresh('form1:textfield1');"
>>>>>>>>>>>>>>>     >
>>>>>>>>>>>>>>>     > but it doesn't work.
>>>>>>>>>>>>>>>     >
>>>>>>>>>>>>>>>     > thanks.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>    
>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>     To unsubscribe, e-mail:
>>>>>>>>>>>>>>> users-unsubscribe_at_woodstock.dev.java.net
>>>>>>>>>>>>>>>     <mailto:users-unsubscribe_at_woodstock.dev.java.net>
>>>>>>>>>>>>>>>     For additional commands, e-mail:
>>>>>>>>>>>>>>> users-help_at_woodstock.dev.java.net
>>>>>>>>>>>>>>>     <mailto:users-help_at_woodstock.dev.java.net>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>       
>>>>>>>>>>>>>>>           
>>>>>>>>>>>>>>>               
>>>>>>>>>>>>>>>                   
>>>>>>>>>>>>>>>                       
>>>>>>>>>>>>>>>                           
>>>>>>>>>>>>>>>                               
>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>> To unsubscribe, e-mail:
>>>>>>>>>>>>>> users-unsubscribe_at_woodstock.dev.java.net
>>>>>>>>>>>>>> For additional commands, e-mail:
>>>>>>>>>>>>>> users-help_at_woodstock.dev.java.net
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>     
>>>>>>>>>>>>>>         
>>>>>>>>>>>>>>             
>>>>>>>>>>>>>>                 
>>>>>>>>>>>>>>                     
>>>>>>>>>>>>>>                         
>>>>>>>>>>>>>>                             
>>>>>>>>>>>>>   
>>>>>>>>>>>>>       
>>>>>>>>>>>>>           
>>>>>>>>>>>>>               
>>>>>>>>>>>>>                   
>>>>>>>>>>>>>                       
>>>>>>>>>>>>>                           
>>>>>>>>>>>>     
>>>>>>>>>>>>         
>>>>>>>>>>>>             
>>>>>>>>>>>>                 
>>>>>>>>>>>>                     
>>>>>>>>>>>>                         
>>>>>>>>>>>   
>>>>>>>>>>>       
>>>>>>>>>>>           
>>>>>>>>>>>               
>>>>>>>>>>>                   
>>>>>>>>>>>                       
>>>>>>>>>>     
>>>>>>>>>>         
>>>>>>>>>>             
>>>>>>>>>>                 
>>>>>>>>>>                     
>>>>>>>>>   
>>>>>>>>>       
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>                   
>>>>>>>>     
>>>>>>>>         
>>>>>>>>             
>>>>>>>>                 
>>>>>>>   
>>>>>>>       
>>>>>>>           
>>>>>>>               
>>>>>>     
>>>>>>         
>>>>>>             
>>>>>   
>>>>>       
>>>>>           
>>>>     
>>>>         
>>>   
>>>       
>>
>>     
>
>