tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Howard M. Lewis Ship (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TAP5-35) During an Ajax update, using a "var:" binding prefix causes an exception indicating that the page is not rendering
Date Fri, 01 Apr 2011 00:58:05 GMT

    [ https://issues.apache.org/jira/browse/TAP5-35?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13014333#comment-13014333
] 

Howard M. Lewis Ship commented on TAP5-35:
------------------------------------------

Glad I looked at this one; the logic that cleans up the RenderVariable map after rendering
turns out to create the PerThreadValue for storing the map blindly. This means that every
component ends up with a PerThreadValue to store the Map, and an instance of the Map is created
just to be discarded.


> During an Ajax update, using a "var:" binding prefix causes an exception indicating that
the page is not rendering
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: TAP5-35
>                 URL: https://issues.apache.org/jira/browse/TAP5-35
>             Project: Tapestry 5
>          Issue Type: Bug
>    Affects Versions: 5.0.15
>            Reporter: Josh Canfield
>            Assignee: Howard M. Lewis Ship
>            Priority: Minor
>         Attachments: BasicAjax.java, BasicAjax.tml
>
>
> Using the var binding within a zone works fine when you load the page, but when you update
the zone using an action link the zone doesn't update and an error is logged.
> Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: Failure writing parameter
'value' of component BasicAjax:loop: Component BasicAjax is not rendering, so render variable
'string' may not be updated. [at classpath:joshcan/test/myapp/pages/BasicAjax.tml, line 6,
column 49]
> 	at org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.writeParameter(InternalComponentResourcesImpl.java:273)
> 	at org.apache.tapestry.corelib.components.Loop._$update_parameter_value(Loop.java)
> 	at org.apache.tapestry.corelib.components.Loop.begin(Loop.java:282)
> 	at org.apache.tapestry.corelib.components.Loop.beginRender(Loop.java)
> 	at org.apache.tapestry.internal.structure.ComponentPageElementImpl$11$1.run(ComponentPageElementImpl.java:338)
> 	at org.apache.tapestry.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:874)
> 	... 66 more
> Caused by: java.lang.IllegalStateException: Component BasicAjax is not rendering, so
render variable 'string' may not be updated.
> 	at org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.storeRenderVariable(InternalComponentResourcesImpl.java:429)
> 	at org.apache.tapestry.internal.bindings.RenderVariableBinding.set(RenderVariableBinding.java:38)
> 	at org.apache.tapestry.internal.structure.InternalComponentResourcesImpl.writeParameter(InternalComponentResourcesImpl.java:269)
> 	... 71 more

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message