You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Andreas Andreou <an...@gmail.com> on 2008/06/14 04:24:57 UTC
Re: T4.1.5 - BeanForm Throwing Exception during HTTP POST rewind of Form component
So, you're saying that when you're creating a new bandPojo
it works, but when you're editing an existing one it fails?
I'm taking a look at the error messages + the beanform templates to see
why this is happening - is it possible to try T4.1.6-SNAPSHOT and
OGNL-2.7.3 in the meantime (just in case) ?
On Sat, Jun 14, 2008 at 5:04 AM, <le...@email.arizona.edu> wrote:
> Hello all,
>
> I'm having an issue with BeanForm (version 0.9). I have a feeling it's
> something I'm missing - but I've done about all the research and probing I can
> think of to no avail.
>
> The particulars - I'm executing in Jetty 4.2.27 (old, I know - but it seems
> rather trusty) on ubuntu linux. My tapestry jars are the 4.1.5 release, I'm
> using tacos 4.1.1. Along with OGNL 2.7.2 (hope I didn't forget anything).
>
> I've searched the exceptions and errors messages, I've went through the source
> code for the component, and I've done a bunch of searches in MarkMail and
> Nabble. I found a promising lead, but that too doesn't work.
>
> So - I have pojo, Band, and I am able to use BeanForm to create a new pojo (and
> persist, etc).
>
> [my .html]
> ------------------------------
> <form jwcid="bandEdit@bf:BeanForm"
> bean="ognl:bandPojo"
> exclude="bandId"
> delegate="bean:validationDelegate"
> clientValidationEnabled="ognl:true"
> focus="ognl:true"
> method="post"
> save="listener:save"
> delete="listener:delete"/>
>
> But when I enter my edit page from the view-all page with a pojo specified for
> editing, I get the following 4 exceptions (which result one from the other, I
> think):
>
> --------------------------------------
> Exception: Unable to read OGNL expression '<parsed OGNL expression>' of
> $BeanFormLabel_256@c3efe241[pages/EditBand/bandEdit.label]: labelBlock
>
> org.apache.tapestry.BindingException
>
> ExpressionBinding[pages/EditBand/bandEdit.label labelBlock]
> classpath:/net/sf/beanform/BeanFormLabel.jwc, line 37, column 51
>
> 36 <component id="label" type="RenderBlock">
> 37 <binding name="block" value="labelBlock"/>
> 38 </component>
>
> Exception: Unable to read OGNL expression '<parsed OGNL expression>' of
> $BeanFormLabel_256@c3efe241[pages/EditBand/bandEdit.label]: labelBlock
>
> org.apache.hivemind.ApplicationRuntimeException
>
> component: $BeanFormLabel_256@c3efe241[pages/EditBand/bandEdit.label]
> classpath:/net/sf/beanform/BeanForm.jwc, line 109, column 49
>
> 107 <component id="renderBody" type="RenderBody"/>
> 108 <component id="rows" type="BeanFormRows"/>
> 109 <component id="label" type="BeanFormLabel"/>
> 110 <component id="field" type="BeanFormField"/>
> 111 <component id="buttons" type="BeanFormButtons"/>
>
> Exception: labelBlock
> ognl.OgnlException
>
> Exception:
> java.lang.NullPointerException
>
> Stack Trace:
>
> *
> net.sf.beanform.BeanFormComponent.getPropertySelectionModel(BeanFormComponent.java:105)
> *
> net.sf.beanform.BeanFormComponent.hasPropertySelectionModel(BeanFormComponent.java:99)
> * net.sf.beanform.BeanFormLabel.getLabelBlock(BeanFormLabel.java:45)
> * sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> *
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> *
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> * java.lang.reflect.Method.invoke(Method.java:585)
> * ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:851)
> * ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:1414)
> *
> ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:60)
> * ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:147)
> * ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2210)
> * ognl.ASTProperty.getValueBody(ASTProperty.java:114)
> * ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
> * ognl.SimpleNode.getValue(SimpleNode.java:258)
> * ognl.Ognl.getValue(Ognl.java:494)
> * ognl.Ognl.getValue(Ognl.java:458)
> *
> org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:123)
> *
> $ExpressionEvaluator_11a849d15d2.readCompiled($ExpressionEvaluator_11a849d15d2.java)
> *
> org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:141)
> *
> org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125)
> *
> org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
> * $RenderBlock_242.getBlock($RenderBlock_242.java)
> *
> org.apache.tapestry.components.RenderBlock.renderComponent(RenderBlock.java:61)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
> * org.apache.tapestry.components.Any.renderComponent(Any.java:44)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
> *
> org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:39)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
> * org.apache.tapestry.components.Any.renderComponent(Any.java:44)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
> * org.apache.tapestry.components.ForBean.renderComponent(ForBean.java:181)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
> * net.sf.beanform.BeanFormRows.renderComponent(BeanFormRows.java:58)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
> * org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:94)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
> * org.apache.tapestry.components.Any.renderComponent(Any.java:44)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
> * org.apache.tapestry.components.Block.renderForComponent(Block.java:65)
> *
> org.apache.tapestry.components.RenderBlock.renderComponent(RenderBlock.java:65)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
> * org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:94)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
> * net.sf.beanform.BeanForm.renderComponent(BeanForm.java:191)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> *
> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
> * org.apache.tapestry.form.FormSupportImpl.rewind(FormSupportImpl.java:624)
> * org.apache.tapestry.form.Form.renderComponent(Form.java:196)
> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
> *
> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
> * org.apache.tapestry.form.Form.rewind(Form.java:269)
> * org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java:469)
> * org.apache.tapestry.form.Form.trigger(Form.java:280)
> *
> org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:166)
> * org.apache.tapestry.engine.DirectService.service(DirectService.java:142)
> * $IEngineService_11a849d1510.service($IEngineService_11a849d1510.java)
> *
> org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:72)
> * org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:241)
> *
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
> *
> $WebRequestServicer_11a849d14e8.service($WebRequestServicer_11a849d14e8.java)
> *
> org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilter.java:54)
> *
> $WebRequestServicerFilter_11a849d14ea.service($WebRequestServicerFilter_11a849d14ea.java)
> *
> $WebRequestServicer_11a849d14ec.service($WebRequestServicer_11a849d14ec.java)
> *
> $WebRequestServicer_11a849d14e4.service($WebRequestServicer_11a849d14e4.java)
> *
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
> *
> $ServletRequestServicer_11a849d14ca.service($ServletRequestServicer_11a849d14ca.java)
> *
> org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
> *
> $ServletRequestServicerFilter_11a849d14c6.service($ServletRequestServicerFilter_11a849d14c6.java)
> *
> $ServletRequestServicer_11a849d14cc.service($ServletRequestServicer_11a849d14cc.java)
> *
> org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
> *
> $ServletRequestServicerFilter_11a849d14c4.service($ServletRequestServicerFilter_11a849d14c4.java)
> *
> $ServletRequestServicer_11a849d14cc.service($ServletRequestServicer_11a849d14cc.java)
> *
> org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
> *
> $ServletRequestServicerFilter_11a849d14c8.service($ServletRequestServicerFilter_11a849d14c8.java)
> *
> $ServletRequestServicer_11a849d14cc.service($ServletRequestServicer_11a849d14cc.java)
> *
> $ServletRequestServicer_11a849d14be.service($ServletRequestServicer_11a849d14be.java)
> *
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:126)
> * org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:171)
> * javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> * javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> * org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
> *
> org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:342)
> * org.apache.tapestry.RedirectFilter.doFilter(RedirectFilter.java:103)
> *
> org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334)
> *
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286)
> * org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
> * org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
> *
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:526)
> * org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
> * org.mortbay.http.HttpServer.service(HttpServer.java:879)
> * org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
> * org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
> * org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
> * org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
> * org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
> * org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
>
> Now - I found a message from Sept 2006 that mentioned there is an issue with
> BeanForm being used in a Form tag. I believe it's a modification from 4.0 to
> 4.1 regarding the Form component:
>
> http://www.nabble.com/I%27m-trying-to-get-the-marvelous-BeanForm-component-working-with-tap-4.1-td6119786.html#a6122605
>
> I thought "DANG! THAT'S GOTTA BE IT!" Because my problem appears to be related
> to the Form component being rewound. So I changed .html
>
>
> [my .html]
> ------------------------------
> <form jwcid="@Form">
> <span jwcid="bandEdit@bf:BeanForm"
> bean="ognl:bandPojo"
> exclude="bandId"
> delegate="bean:validationDelegate"
> clientValidationEnabled="ognl:true"
> focus="ognl:true"
> method="post"
> save="listener:save"
> delete="listener:delete"/>
> </form>
>
> I still got that above exception. I mucked with the delegate, client
> validation, and still get the exception.
>
> Sorry for the excessive length - it's just that I've done a bunch of research,
> debugging, and looking into this... so I wanted to make sure I included all the
> details.
>
> Thanks,
>
> Andy
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
--
Andreas Andreou - andyhot@apache.org - http://blog.andyhot.gr
Tapestry / Tacos developer
Open Source / JEE Consulting
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T4.1.5 - BeanForm Throwing Exception during HTTP POST rewind of Form component
Posted by Patrick Moore <pa...@amplafi.com>.
just download manually from here:
http://people.apache.org/repo/m2-snapshot-repository/org/apache/tapestry/tapestry-framework/4.1.6-SNAPSHOT/
On Sat, Jun 14, 2008 at 2:12 PM, <le...@email.arizona.edu> wrote:
> Quoting Andreas Andreou <an...@gmail.com>:
>
> Another thought,
>> try cacheProperties="ognl:false" in your beanForm
>>
>
> I have not been able to update to Tapestry 4.1.6-SNAPSHOT (I'm not a Maven
> user). I was able to find OGNL 2.7.3 in a Maven repo to download it. I
> don't
> think I'm going to be able to figure out setting up Maven for my project in
> a
> timely manner. So any alternative way to get the jars would be nice.
>
>
> I tried the above solution with the cacheProps attribute. No help - I still
> get
> the exceptions.
>
> I've tried excluding properties one-by-one, the only way the exceptions
> aren't
> thrown is when I exclude all of the properties (so it's just the buttons).
>
> Any other suggestions? Are they only other factors that I may have
> forgotten to
> include that would create something like this?
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
--
Patrick Moore
Amplafi
650-207-9792
"copy/paste"
blog : http://www.sworddance.com/blog
Re: T4.1.5 - BeanForm Throwing Exception during HTTP POST rewind of Form component
Posted by Andreas Andreou <an...@gmail.com>.
Well - i've used that version of beanform for that exact use case
during the last
year... and i'm out of ideas :(
I'd have to ask for a minimum code sample that reproduces this
so i can try myself...
On Sun, Jun 15, 2008 at 12:12 AM, <le...@email.arizona.edu> wrote:
> Quoting Andreas Andreou <an...@gmail.com>:
>
>> Another thought,
>> try cacheProperties="ognl:false" in your beanForm
>
> I have not been able to update to Tapestry 4.1.6-SNAPSHOT (I'm not a Maven
> user). I was able to find OGNL 2.7.3 in a Maven repo to download it. I
> don't
> think I'm going to be able to figure out setting up Maven for my project in
> a
> timely manner. So any alternative way to get the jars would be nice.
>
>
> I tried the above solution with the cacheProps attribute. No help - I still
> get
> the exceptions.
>
> I've tried excluding properties one-by-one, the only way the exceptions
> aren't
> thrown is when I exclude all of the properties (so it's just the buttons).
>
> Any other suggestions? Are they only other factors that I may have forgotten
> to
> include that would create something like this?
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
--
Andreas Andreou - andyhot@apache.org - http://blog.andyhot.gr
Tapestry / Tacos developer
Open Source / JEE Consulting
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T4.1.5 - BeanForm Throwing Exception during HTTP POST rewind
of Form component
Posted by le...@email.arizona.edu.
Quoting Andreas Andreou <an...@gmail.com>:
> Another thought,
> try cacheProperties="ognl:false" in your beanForm
I have not been able to update to Tapestry 4.1.6-SNAPSHOT (I'm not a Maven
user). I was able to find OGNL 2.7.3 in a Maven repo to download it. I don't
think I'm going to be able to figure out setting up Maven for my project in a
timely manner. So any alternative way to get the jars would be nice.
I tried the above solution with the cacheProps attribute. No help - I
still get
the exceptions.
I've tried excluding properties one-by-one, the only way the exceptions aren't
thrown is when I exclude all of the properties (so it's just the buttons).
Any other suggestions? Are they only other factors that I may have
forgotten to
include that would create something like this?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T4.1.5 - BeanForm Throwing Exception during HTTP POST rewind of Form component
Posted by Andreas Andreou <an...@gmail.com>.
Another thought,
try cacheProperties="ognl:false" in your beanForm
On Sat, Jun 14, 2008 at 9:20 PM, <le...@email.arizona.edu> wrote:
> Quoting Andreas Andreou <an...@gmail.com>:
>
>> Didn't find anything weird :)
>
> UGH!
>
>> Try excluding more of your pojo properties until you find which one
>> causes this...
>
> Okay - I attempt that.
>
>> Also, try the properties parameter as described at
>> http://tacos.sourceforge.net/tacos4.1/beanform/component-reference.html
>> instead of the exclude one
>
> I was using the properties attribute, I pulled it out as an attempt to see
> if
> that was part of the problem. I'm also using a .properties file to name the
> labels, but I've tried removing that in order to see if that might be the
> issue
> too.
>
> Thanks again
>
> Andy
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
--
Andreas Andreou - andyhot@apache.org - http://blog.andyhot.gr
Tapestry / Tacos developer
Open Source / JEE Consulting
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T4.1.5 - BeanForm Throwing Exception during HTTP POST rewind
of Form component
Posted by le...@email.arizona.edu.
Quoting Andreas Andreou <an...@gmail.com>:
> Didn't find anything weird :)
UGH!
> Try excluding more of your pojo properties until you find which one
> causes this...
Okay - I attempt that.
> Also, try the properties parameter as described at
> http://tacos.sourceforge.net/tacos4.1/beanform/component-reference.html
> instead of the exclude one
I was using the properties attribute, I pulled it out as an attempt to see if
that was part of the problem. I'm also using a .properties file to name the
labels, but I've tried removing that in order to see if that might be
the issue
too.
Thanks again
Andy
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T4.1.5 - BeanForm Throwing Exception during HTTP POST rewind of Form component
Posted by Andreas Andreou <an...@gmail.com>.
Didn't find anything weird :)
Try excluding more of your pojo properties until you find which one
causes this...
Also, try the properties parameter as described at
http://tacos.sourceforge.net/tacos4.1/beanform/component-reference.html
instead of the exclude one
On Sat, Jun 14, 2008 at 5:24 AM, Andreas Andreou <an...@gmail.com> wrote:
> So, you're saying that when you're creating a new bandPojo
> it works, but when you're editing an existing one it fails?
>
> I'm taking a look at the error messages + the beanform templates to see
> why this is happening - is it possible to try T4.1.6-SNAPSHOT and
> OGNL-2.7.3 in the meantime (just in case) ?
>
> On Sat, Jun 14, 2008 at 5:04 AM, <le...@email.arizona.edu> wrote:
>> Hello all,
>>
>> I'm having an issue with BeanForm (version 0.9). I have a feeling it's
>> something I'm missing - but I've done about all the research and probing I can
>> think of to no avail.
>>
>> The particulars - I'm executing in Jetty 4.2.27 (old, I know - but it seems
>> rather trusty) on ubuntu linux. My tapestry jars are the 4.1.5 release, I'm
>> using tacos 4.1.1. Along with OGNL 2.7.2 (hope I didn't forget anything).
>>
>> I've searched the exceptions and errors messages, I've went through the source
>> code for the component, and I've done a bunch of searches in MarkMail and
>> Nabble. I found a promising lead, but that too doesn't work.
>>
>> So - I have pojo, Band, and I am able to use BeanForm to create a new pojo (and
>> persist, etc).
>>
>> [my .html]
>> ------------------------------
>> <form jwcid="bandEdit@bf:BeanForm"
>> bean="ognl:bandPojo"
>> exclude="bandId"
>> delegate="bean:validationDelegate"
>> clientValidationEnabled="ognl:true"
>> focus="ognl:true"
>> method="post"
>> save="listener:save"
>> delete="listener:delete"/>
>>
>> But when I enter my edit page from the view-all page with a pojo specified for
>> editing, I get the following 4 exceptions (which result one from the other, I
>> think):
>>
>> --------------------------------------
>> Exception: Unable to read OGNL expression '<parsed OGNL expression>' of
>> $BeanFormLabel_256@c3efe241[pages/EditBand/bandEdit.label]: labelBlock
>>
>> org.apache.tapestry.BindingException
>>
>> ExpressionBinding[pages/EditBand/bandEdit.label labelBlock]
>> classpath:/net/sf/beanform/BeanFormLabel.jwc, line 37, column 51
>>
>> 36 <component id="label" type="RenderBlock">
>> 37 <binding name="block" value="labelBlock"/>
>> 38 </component>
>>
>> Exception: Unable to read OGNL expression '<parsed OGNL expression>' of
>> $BeanFormLabel_256@c3efe241[pages/EditBand/bandEdit.label]: labelBlock
>>
>> org.apache.hivemind.ApplicationRuntimeException
>>
>> component: $BeanFormLabel_256@c3efe241[pages/EditBand/bandEdit.label]
>> classpath:/net/sf/beanform/BeanForm.jwc, line 109, column 49
>>
>> 107 <component id="renderBody" type="RenderBody"/>
>> 108 <component id="rows" type="BeanFormRows"/>
>> 109 <component id="label" type="BeanFormLabel"/>
>> 110 <component id="field" type="BeanFormField"/>
>> 111 <component id="buttons" type="BeanFormButtons"/>
>>
>> Exception: labelBlock
>> ognl.OgnlException
>>
>> Exception:
>> java.lang.NullPointerException
>>
>> Stack Trace:
>>
>> *
>> net.sf.beanform.BeanFormComponent.getPropertySelectionModel(BeanFormComponent.java:105)
>> *
>> net.sf.beanform.BeanFormComponent.hasPropertySelectionModel(BeanFormComponent.java:99)
>> * net.sf.beanform.BeanFormLabel.getLabelBlock(BeanFormLabel.java:45)
>> * sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> *
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> *
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> * java.lang.reflect.Method.invoke(Method.java:585)
>> * ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:851)
>> * ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:1414)
>> *
>> ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:60)
>> * ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:147)
>> * ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2210)
>> * ognl.ASTProperty.getValueBody(ASTProperty.java:114)
>> * ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
>> * ognl.SimpleNode.getValue(SimpleNode.java:258)
>> * ognl.Ognl.getValue(Ognl.java:494)
>> * ognl.Ognl.getValue(Ognl.java:458)
>> *
>> org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:123)
>> *
>> $ExpressionEvaluator_11a849d15d2.readCompiled($ExpressionEvaluator_11a849d15d2.java)
>> *
>> org.apache.tapestry.binding.ExpressionBinding.resolveExpression(ExpressionBinding.java:141)
>> *
>> org.apache.tapestry.binding.ExpressionBinding.getObject(ExpressionBinding.java:125)
>> *
>> org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:84)
>> * $RenderBlock_242.getBlock($RenderBlock_242.java)
>> *
>> org.apache.tapestry.components.RenderBlock.renderComponent(RenderBlock.java:61)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>> * org.apache.tapestry.components.Any.renderComponent(Any.java:44)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>> *
>> org.apache.tapestry.components.RenderBody.renderComponent(RenderBody.java:39)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>> * org.apache.tapestry.components.Any.renderComponent(Any.java:44)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>> * org.apache.tapestry.components.ForBean.renderComponent(ForBean.java:181)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>> * net.sf.beanform.BeanFormRows.renderComponent(BeanFormRows.java:58)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>> * org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:94)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>> * org.apache.tapestry.components.Any.renderComponent(Any.java:44)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>> * org.apache.tapestry.components.Block.renderForComponent(Block.java:65)
>> *
>> org.apache.tapestry.components.RenderBlock.renderComponent(RenderBlock.java:65)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>> * org.apache.tapestry.components.IfBean.renderComponent(IfBean.java:94)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>> * net.sf.beanform.BeanForm.renderComponent(BeanForm.java:191)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> *
>> org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>> * org.apache.tapestry.form.FormSupportImpl.rewind(FormSupportImpl.java:624)
>> * org.apache.tapestry.form.Form.renderComponent(Form.java:196)
>> * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>> *
>> org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>> * org.apache.tapestry.form.Form.rewind(Form.java:269)
>> * org.apache.tapestry.engine.RequestCycle.rewindForm(RequestCycle.java:469)
>> * org.apache.tapestry.form.Form.trigger(Form.java:280)
>> *
>> org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java:166)
>> * org.apache.tapestry.engine.DirectService.service(DirectService.java:142)
>> * $IEngineService_11a849d1510.service($IEngineService_11a849d1510.java)
>> *
>> org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:72)
>> * org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:241)
>> *
>> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54)
>> *
>> $WebRequestServicer_11a849d14e8.service($WebRequestServicer_11a849d14e8.java)
>> *
>> org.apache.tapestry.services.impl.DisableCachingFilter.service(DisableCachingFilter.java:54)
>> *
>> $WebRequestServicerFilter_11a849d14ea.service($WebRequestServicerFilter_11a849d14ea.java)
>> *
>> $WebRequestServicer_11a849d14ec.service($WebRequestServicer_11a849d14ec.java)
>> *
>> $WebRequestServicer_11a849d14e4.service($WebRequestServicer_11a849d14e4.java)
>> *
>> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:61)
>> *
>> $ServletRequestServicer_11a849d14ca.service($ServletRequestServicer_11a849d14ca.java)
>> *
>> org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>> *
>> $ServletRequestServicerFilter_11a849d14c6.service($ServletRequestServicerFilter_11a849d14c6.java)
>> *
>> $ServletRequestServicer_11a849d14cc.service($ServletRequestServicer_11a849d14cc.java)
>> *
>> org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>> *
>> $ServletRequestServicerFilter_11a849d14c4.service($ServletRequestServicerFilter_11a849d14c4.java)
>> *
>> $ServletRequestServicer_11a849d14cc.service($ServletRequestServicer_11a849d14cc.java)
>> *
>> org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>> *
>> $ServletRequestServicerFilter_11a849d14c8.service($ServletRequestServicerFilter_11a849d14c8.java)
>> *
>> $ServletRequestServicer_11a849d14cc.service($ServletRequestServicer_11a849d14cc.java)
>> *
>> $ServletRequestServicer_11a849d14be.service($ServletRequestServicer_11a849d14be.java)
>> *
>> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:126)
>> * org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:171)
>> * javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>> * javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>> * org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
>> *
>> org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:342)
>> * org.apache.tapestry.RedirectFilter.doFilter(RedirectFilter.java:103)
>> *
>> org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334)
>> *
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286)
>> * org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>> * org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
>> *
>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:526)
>> * org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
>> * org.mortbay.http.HttpServer.service(HttpServer.java:879)
>> * org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
>> * org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
>> * org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
>> * org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
>> * org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
>> * org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
>>
>> Now - I found a message from Sept 2006 that mentioned there is an issue with
>> BeanForm being used in a Form tag. I believe it's a modification from 4.0 to
>> 4.1 regarding the Form component:
>>
>> http://www.nabble.com/I%27m-trying-to-get-the-marvelous-BeanForm-component-working-with-tap-4.1-td6119786.html#a6122605
>>
>> I thought "DANG! THAT'S GOTTA BE IT!" Because my problem appears to be related
>> to the Form component being rewound. So I changed .html
>>
>>
>> [my .html]
>> ------------------------------
>> <form jwcid="@Form">
>> <span jwcid="bandEdit@bf:BeanForm"
>> bean="ognl:bandPojo"
>> exclude="bandId"
>> delegate="bean:validationDelegate"
>> clientValidationEnabled="ognl:true"
>> focus="ognl:true"
>> method="post"
>> save="listener:save"
>> delete="listener:delete"/>
>> </form>
>>
>> I still got that above exception. I mucked with the delegate, client
>> validation, and still get the exception.
>>
>> Sorry for the excessive length - it's just that I've done a bunch of research,
>> debugging, and looking into this... so I wanted to make sure I included all the
>> details.
>>
>> Thanks,
>>
>> Andy
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
>
>
> --
> Andreas Andreou - andyhot@apache.org - http://blog.andyhot.gr
> Tapestry / Tacos developer
> Open Source / JEE Consulting
>
--
Andreas Andreou - andyhot@apache.org - http://blog.andyhot.gr
Tapestry / Tacos developer
Open Source / JEE Consulting
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T4.1.5 - BeanForm Throwing Exception during HTTP POST rewind
of Form component
Posted by le...@email.arizona.edu.
Quoting Andreas Andreou <an...@gmail.com>:
> So, you're saying that when you're creating a new bandPojo
> it works, but when you're editing an existing one it fails?
Yes. When the component is modifying a new instance of the Band pojo,
everything works. But when I enter the page with an existing instance of the
Band pojo for editing, I get those exceptions during rewind.
> I'm taking a look at the error messages + the beanform templates to see
> why this is happening - is it possible to try T4.1.6-SNAPSHOT and
> OGNL-2.7.3 in the meantime (just in case) ?
I can try that. I'm not a Maven user - so I'm not sure what the best
way to get
a hold of those jars without a pom or something. If you could suggest
a method
for doing that, I'd really appreciate it.
And thank you for looking into this.
Andy
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org