You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Eric Everman <ev...@precedadesign.com> on 2005/01/20 21:59:36 UTC

Binding Exception for generated property in Foreach

Hi-

Sorry to spam with questions today, but I'm stuck on something that  
should be straight-forward.

I keep getting a binding exception for my index property in the Foreach  
loop below - it looks like it thinks the property is read only (which  
it shouldn't be, despite the name).  There is no abstract methods for  
these properties in the page, they are completely synthetic.  I should  
mention that I am not positive on this syntax in the html:
<span jwcid="@Insert" value="ognl:readOnlyFieldNames[readOnlyIndex]" />
but it doesn't seem to be causing the error.  The intention of that  
line is to use readOnlyIndex as an index into the string array  
readOnlyFieldNames.


#####################################################
<html>
   <div class="info" jwcid="@Foreach" source="ognl:readOnlyFields"  
index="readOnlyIndex" value="ognl:readOnlyField" element="div">
     <span class="label"><span jwcid="@Insert"  
value="ognl:readOnlyFieldNames[readOnlyIndex]" /></span>
     <span><span jwcid="@Insert" value="ognl:bean[readOnlyField]"  
/></span>
  </div>
</html>
#####################################################
<page>
   <property-specification name="readOnlyFields" persistent="no">
     {
       "latAmt",
       "longAmt",
       "gisCountyName
     }
   </property-specification>
   <property-specification name="readOnlyFieldNames" persistent="no">
     {
       "latitude",
       "longitude",
       "County"
     }
   </property-specification>
   <property-specification name="readOnlyIndex" type="int"/>
   <property-specification name="readOnlyField" type="java.lang.String"  
persistent="no"/>
</page>
#####################################################
Generates this exception:


org.apache.tapestry.BindingException
Binding value may not be updated.
binding: 	StaticBinding[readOnlyIndex]
location: 	context:/SiteForm.html, line 89
Stack Trace:

     *  
org.apache.tapestry.binding.AbstractBinding.createReadOnlyBindingExcepti 
on(AbstractBinding.java:241)
     *  
org.apache.tapestry.binding.AbstractBinding.setInt(AbstractBinding.java: 
161)
     *  
org.apache.tapestry.components.Foreach.renderComponent(Foreach.java: 
111)
     *  
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java: 
857)
     *  
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java: 
624)
     * org.apache.tapestry.form.Form.renderComponent(Form.java:362)
     *  
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java: 
857)
     *  
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java: 
624)
     *  
org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.jav 
a:45)
     *  
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java: 
857)
     *  
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java: 
624)
     * org.apache.tapestry.html.Body.renderComponent(Body.java:269)
     *  
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java: 
857)
     *  
org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java: 
624)
     * org.apache.tapestry.html.Shell.renderComponent(Shell.java:124)
     *  
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java: 
857)
     *  
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java: 
118)
     *  
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java: 
857)
     *  
org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java: 
118)
     *  
org.apache.tapestry.AbstractComponent.render(AbstractComponent.java: 
857)
     * org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:300)
     *  
org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java: 
368)
     *  
org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine. 
java:732)
     *  
org.apache.tapestry.engine.DirectService.service(DirectService.java: 
174)
     *  
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java: 
872)
     *  
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java 
:197)
     *  
org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java: 
326)
     * javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
     * javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     *  
com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChai 
n.java:65)
     * oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
     *  
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestD 
ispatcher.java:604)
     *  
com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Servle 
tRequestDispatcher.java:317)
     *  
com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHa 
ndler.java:790)
     *  
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java: 
270)
     *  
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java: 
112)
     *  
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Releasab 
leResourcePooledExecutor.java:192)
     * java.lang.Thread.run(Thread.java:534)

Thanks Again,
Eric Everman


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: Binding Exception for generated property in Foreach

Posted by Eric Everman <ev...@precedadesign.com>.
[Insert really funny self deprecating joke here] !#

Thanks Howard,
--ee


On Jan 20, 2005, at 6:45 PM, Howard Lewis Ship wrote:

> Notice, it says StaticBinding
>
> index="readOnlyIndex"
>
> shoudl be
>
> index="ognl:readOnlyIndex"
>
> Thanks for playing!
>
>
> On Thu, 20 Jan 2005 14:59:36 -0600, Eric Everman
> <ev...@precedadesign.com> wrote:
>> Hi-
>>
>> Sorry to spam with questions today, but I'm stuck on something that
>> should be straight-forward.
>>
>> I keep getting a binding exception for my index property in the  
>> Foreach
>> loop below - it looks like it thinks the property is read only (which
>> it shouldn't be, despite the name).  There is no abstract methods for
>> these properties in the page, they are completely synthetic.  I should
>> mention that I am not positive on this syntax in the html:
>> <span jwcid="@Insert" value="ognl:readOnlyFieldNames[readOnlyIndex]"  
>> />
>> but it doesn't seem to be causing the error.  The intention of that
>> line is to use readOnlyIndex as an index into the string array
>> readOnlyFieldNames.
>>
>> #####################################################
>> <html>
>>    <div class="info" jwcid="@Foreach" source="ognl:readOnlyFields"
>> index="readOnlyIndex" value="ognl:readOnlyField" element="div">
>>      <span class="label"><span jwcid="@Insert"
>> value="ognl:readOnlyFieldNames[readOnlyIndex]" /></span>
>>      <span><span jwcid="@Insert" value="ognl:bean[readOnlyField]"
>> /></span>
>>   </div>
>> </html>
>> #####################################################
>> <page>
>>    <property-specification name="readOnlyFields" persistent="no">
>>      {
>>        "latAmt",
>>        "longAmt",
>>        "gisCountyName
>>      }
>>    </property-specification>
>>    <property-specification name="readOnlyFieldNames" persistent="no">
>>      {
>>        "latitude",
>>        "longitude",
>>        "County"
>>      }
>>    </property-specification>
>>    <property-specification name="readOnlyIndex" type="int"/>
>>    <property-specification name="readOnlyField"  
>> type="java.lang.String"
>> persistent="no"/>
>> </page>
>> #####################################################
>> Generates this exception:
>>
>> org.apache.tapestry.BindingException
>> Binding value may not be updated.
>> binding:        StaticBinding[readOnlyIndex]
>> location:       context:/SiteForm.html, line 89
>> Stack Trace:
>>
>>      *
>> org.apache.tapestry.binding.AbstractBinding.createReadOnlyBindingExcep 
>> ti
>> on(AbstractBinding.java:241)
>>      *
>> org.apache.tapestry.binding.AbstractBinding.setInt(AbstractBinding.jav 
>> a:
>> 161)
>>      *
>> org.apache.tapestry.components.Foreach.renderComponent(Foreach.java:
>> 111)
>>      *
>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
>> 857)
>>      *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.jav 
>> a:
>> 624)
>>      * org.apache.tapestry.form.Form.renderComponent(Form.java:362)
>>      *
>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
>> 857)
>>      *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.jav 
>> a:
>> 624)
>>      *
>> org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.j 
>> av
>> a:45)
>>      *
>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
>> 857)
>>      *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.jav 
>> a:
>> 624)
>>      * org.apache.tapestry.html.Body.renderComponent(Body.java:269)
>>      *
>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
>> 857)
>>      *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.jav 
>> a:
>> 624)
>>      * org.apache.tapestry.html.Shell.renderComponent(Shell.java:124)
>>      *
>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
>> 857)
>>      *
>> org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:
>> 118)
>>      *
>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
>> 857)
>>      *
>> org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:
>> 118)
>>      *
>> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
>> 857)
>>      *  
>> org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:300)
>>      *
>> org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:
>> 368)
>>      *
>> org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngin 
>> e.
>> java:732)
>>      *
>> org.apache.tapestry.engine.DirectService.service(DirectService.java:
>> 174)
>>      *
>> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:
>> 872)
>>      *
>> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.ja 
>> va
>> :197)
>>      *
>> org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:
>> 326)
>>      * javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>>      * javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>>      *
>> com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterCh 
>> ai
>> n.java:65)
>>      * oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
>>      *
>> com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReques 
>> tD
>> ispatcher.java:604)
>>      *
>> com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Serv 
>> le
>> tRequestDispatcher.java:317)
>>      *
>> com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequest 
>> Ha
>> ndler.java:790)
>>      *
>> com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.jav 
>> a:
>> 270)
>>      *
>> com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.jav 
>> a:
>> 112)
>>      *
>> com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Releas 
>> ab
>> leResourcePooledExecutor.java:192)
>>      * java.lang.Thread.run(Thread.java:534)
>>
>> Thanks Again,
>> Eric Everman
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>>
>>
>
>
> -- 
> Howard M. Lewis Ship
> Independent J2EE / Open-Source Java Consultant
> Creator, Jakarta Tapestry
> Creator, Jakarta HiveMind
>
> Professional Tapestry training, mentoring, support
> and project work.  http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: Binding Exception for generated property in Foreach

Posted by Howard Lewis Ship <hl...@gmail.com>.
Notice, it says StaticBinding

index="readOnlyIndex" 

shoudl be

index="ognl:readOnlyIndex"

Thanks for playing!


On Thu, 20 Jan 2005 14:59:36 -0600, Eric Everman
<ev...@precedadesign.com> wrote:
> Hi-
> 
> Sorry to spam with questions today, but I'm stuck on something that
> should be straight-forward.
> 
> I keep getting a binding exception for my index property in the Foreach
> loop below - it looks like it thinks the property is read only (which
> it shouldn't be, despite the name).  There is no abstract methods for
> these properties in the page, they are completely synthetic.  I should
> mention that I am not positive on this syntax in the html:
> <span jwcid="@Insert" value="ognl:readOnlyFieldNames[readOnlyIndex]" />
> but it doesn't seem to be causing the error.  The intention of that
> line is to use readOnlyIndex as an index into the string array
> readOnlyFieldNames.
> 
> #####################################################
> <html>
>    <div class="info" jwcid="@Foreach" source="ognl:readOnlyFields"
> index="readOnlyIndex" value="ognl:readOnlyField" element="div">
>      <span class="label"><span jwcid="@Insert"
> value="ognl:readOnlyFieldNames[readOnlyIndex]" /></span>
>      <span><span jwcid="@Insert" value="ognl:bean[readOnlyField]"
> /></span>
>   </div>
> </html>
> #####################################################
> <page>
>    <property-specification name="readOnlyFields" persistent="no">
>      {
>        "latAmt",
>        "longAmt",
>        "gisCountyName
>      }
>    </property-specification>
>    <property-specification name="readOnlyFieldNames" persistent="no">
>      {
>        "latitude",
>        "longitude",
>        "County"
>      }
>    </property-specification>
>    <property-specification name="readOnlyIndex" type="int"/>
>    <property-specification name="readOnlyField" type="java.lang.String"
> persistent="no"/>
> </page>
> #####################################################
> Generates this exception:
> 
> org.apache.tapestry.BindingException
> Binding value may not be updated.
> binding:        StaticBinding[readOnlyIndex]
> location:       context:/SiteForm.html, line 89
> Stack Trace:
> 
>      *
> org.apache.tapestry.binding.AbstractBinding.createReadOnlyBindingExcepti
> on(AbstractBinding.java:241)
>      *
> org.apache.tapestry.binding.AbstractBinding.setInt(AbstractBinding.java:
> 161)
>      *
> org.apache.tapestry.components.Foreach.renderComponent(Foreach.java:
> 111)
>      *
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
> 857)
>      *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:
> 624)
>      * org.apache.tapestry.form.Form.renderComponent(Form.java:362)
>      *
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
> 857)
>      *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:
> 624)
>      *
> org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.jav
> a:45)
>      *
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
> 857)
>      *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:
> 624)
>      * org.apache.tapestry.html.Body.renderComponent(Body.java:269)
>      *
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
> 857)
>      *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:
> 624)
>      * org.apache.tapestry.html.Shell.renderComponent(Shell.java:124)
>      *
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
> 857)
>      *
> org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:
> 118)
>      *
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
> 857)
>      *
> org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:
> 118)
>      *
> org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:
> 857)
>      * org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:300)
>      *
> org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:
> 368)
>      *
> org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine.
> java:732)
>      *
> org.apache.tapestry.engine.DirectService.service(DirectService.java:
> 174)
>      *
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:
> 872)
>      *
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java
> :197)
>      *
> org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:
> 326)
>      * javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>      * javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>      *
> com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChai
> n.java:65)
>      * oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
>      *
> com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestD
> ispatcher.java:604)
>      *
> com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Servle
> tRequestDispatcher.java:317)
>      *
> com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHa
> ndler.java:790)
>      *
> com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:
> 270)
>      *
> com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:
> 112)
>      *
> com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Releasab
> leResourcePooledExecutor.java:192)
>      * java.lang.Thread.run(Thread.java:534)
> 
> Thanks Again,
> Eric Everman
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> 
> 


-- 
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org