${...} doesn't do what you think it does.  It specifically extracts
the expression and converts it to a String, and the expression is
read-only.

Bind it like this:

  itemsPerPage="itemsPerPage"

this binds the component parameter field directly to the containing
page's property, so it's read/write.

The use of ${...} was intended for attributes  ordinary
(non-component) elements.

On Sun, Sep 18, 2011 at 1:39 PM, Ken in Nashua <kcola...@live.com> wrote:
>
> Folks,
>
> I have a page feeding read/write property
>
> Home.JAVA
>    @Property(read = true, write = true)                                // no 
> getter/setter needed
>    @Persist("session")
>    private int itemsPerPage;
>
> to a component parameter
>
> Gallery.JAVA
>    @Property(read = true, write = true)
>    @Parameter(required = true, cache = true, defaultPrefix = "50")
>    private int itemsPerPage;
>
>    @BeginRender
>
>    public void beginRender()
>
>    {
>
>        //itemsPerPage = 50;
>
>        //tableColumns = 3;
>
>    }
>
> org.apache.tapestry5.runtime.ComponentEventExceptionFailure
>  writing parameter 'value' of component
> Home:gallerywidget.itemsperpageselect: Failure writing parameter
> 'itemsPerPage' of component Home:gallerywidget: Binding
> org.apache.tapestry5.internal.services.AttributeExpansionBinding@3e963f38
>  is read-only.
>
> here are some sources... to possbly indicate the issue but I cannot spot why.
>
> Any ideas ? I would think that the annotations provided are sufficient? Also 
> if I try to set a value to this parameter within the component I receive the 
> same thing...
>
>
> HOME.TML
> ...
>    <t:form t:id="galleryForm" t:name="galleryForm" clientValidation="true">
>        <t:errors/>
>
>        <t:Gallery t:id="GalleryWidget"
>            collection="${collection}"
>            itemsPerPage="${itemsPerPage}"
>            tableColumns="${tableColumns}"
>            cursor="${cursor}"
>            />
>    </t:form>
>
> </t:layout>
>
>
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to