I just changed back to use my custom data struct and now seems to be
working, don't see those coercion exception anymore.. I believe it is caused
by me passing a Persist("flash") variable to the component's @Parameter. Now
I am returning a deep copy of that and is working now. Sorry for the false
alarm.

thx!
Ronald


Josh Canfield-2 wrote:
> 
> No, that doesn't sound right. I pass other objects using @Parameter and
> have
> not had this problem. There shouldn't be a coercion when you are passing
> the
> parameter so my guess is that there is something else going on.
> 
> Ronald, can you give us a small code example that shows the problem?
> Josh
> On Nov 13, 2007 11:08 AM, Chris Lewis <[EMAIL PROTECTED]> wrote:
> 
>> That doesn't sound right. I haven't done this before, but surely you
>> don't have to do it like that. Can anyone chime in on this?
>>
>> ronaldlee wrote:
>> > I found out the issue. The getter function has to return "Object"
>> instead of
>> > my custom data type to work, in order words, @Parameter can only handle
>> > "Object", after that I can cast it back to my data type..
>> >
>> > Ronald
>> >
>> >
>> > ronaldlee wrote:
>> >
>> >> But when I tried to pass my own data structure, it throws an exception
>> >> like this:
>> >> ..
>> >> Could not find a coercion from type java.lang.String to type
>> >> com.xxx...MyDataStructure.
>> >>
>> >> Actually, MyDataStructure is quite complex, it contains some primitive
>> >> data types (byte,int,boolean), another custom data structure which
>> stores
>> >> a byte, and a list of yet another custom data structure, storing a
>> string
>> >> and a boolean. Not only that, MyDataStructure also extends a more
>> generic
>> >> data structure which has its own attributes as well...
>> >>
>> >> I think I tried the @Component approach, but the component doesn't
>> seem
>> to
>> >> have the stuff passed from the user when I try to access them in the
>> >> onSuccess function.. I will try again.
>> >>
>> >> thx!
>> >> Ronald
>> >>
>> >>
>> >> Josh Canfield-2 wrote:
>> >>
>> >>> Sorry, I was unclear in my cut and paste of your question.
>> >>>
>> >>> You can pass anything as a parameter.
>> >>>
>> >>> If you want to get access to your component in your page then define
>> an
>> >>> attribute with the right type and use the @Component annotation.  Add
>> a
>> >>> getter to your component if you want to get something back out of it.
>> >>>
>> >>> @Component
>> >>> private MyComponent _component;
>> >>>
>> >>> Josh
>> >>> On Nov 12, 2007 4:00 PM, ronaldlee <[EMAIL PROTECTED]> wrote:
>> >>>
>> >>>
>> >>>> So the @Parameter can only be used to passed user-defined data
>> structure
>> >>>> to
>> >>>> the custom component...
>> >>>>
>> >>>> Is there a way such that the page that displays the custom component
>> can
>> >>>> have access to the componet's properties (public getter functions)
>> in
>> >>>> order
>> >>>> to retrieve the user-defined data structure? For example, in the
>> page's
>> >>>> onSuccess method, I want to retrieve a List<MyDataStructure> from my
>> >>>> custom
>> >>>> component, how can I do that?
>> >>>>
>> >>>> thx!
>> >>>> Ronald
>> >>>>
>> >>>>
>> >>>> Josh Canfield-2 wrote:
>> >>>>
>> >>>>>> For @Parameter attributes of custom components, can it be
>> >>>>>>
>> >>>> user-defined
>> >>>>
>> >>>>>> data
>> >>>>>> structure? Or it has to be simple java-defined ones?
>> >>>>>>
>> >>>>>>
>> >>>>> Yes.
>> >>>>>
>> >>>>> <t:mycustomcomponent data="${customDataStructure}"/>
>> >>>>>
>> >>>>> Yes, but you don't need the ${}, the default binding is property
>> >>>>>
>> >>>>> <t:mycustomcomponent data="customDataStructure"/>
>> >>>>>
>> >>>>>
>> >>>>> Josh
>> >>>>>
>> >>>>> On Nov 12, 2007 3:01 PM, ronaldlee <[EMAIL PROTECTED]> wrote:
>> >>>>>
>> >>>>>
>> >>>>>> For @Parameter attributes of custom components, can it be
>> >>>>>>
>> >>>> user-defined
>> >>>>
>> >>>>>> data
>> >>>>>> structure? Or it has to be simple java-defined ones?
>> >>>>>>
>> >>>>>> For example, can I have this in my custom component:
>> >>>>>>
>> >>>>>> @Parameter
>> >>>>>> MyOwnDataStructure data
>> >>>>>>
>> >>>>>> And in my main page I will feed that param using the page's
>> property
>> >>>>>> function
>> >>>>>>
>> >>>>>> <t:mycustomcomponent data="${customDataStructure}"/>
>> >>>>>>
>> >>>>>> where "getCustomDataStructure" of that page will return an
>> instance
>> >>>>>>
>> >>>> of
>> >>>>
>> >>>>>> MyOwnDataStructure?
>> >>>>>>
>> >>>>>> thx!
>> >>>>>> Ronald
>> >>>>>>
>> >>>>>>
>> >>>>>> Chris Lewis-5 wrote:
>> >>>>>>
>> >>>>>>> Ronald,
>> >>>>>>>
>> >>>>>>> Tapestry receives input (and fires events) using its Form
>> >>>>>>>
>> >>>> component,
>> >>>>
>> >>>>>>> which is used for creating html forms. Checkboxes are themselves
>> >>>>>>> components and are tied to boolean properties of the containing
>> >>>>>>>
>> >>>> page
>> >>>>
>> >>>>>> (or
>> >>>>>>
>> >>>>>>> component in your case). If you have declared the checkboxes as
>> >>>>>>>
>> >>>> 'raw'
>> >>>>
>> >>>>>>> html tags, you must first change those to proper tapestry
>> >>>>>>>
>> >>>> components
>> >>>>
>> >>>>>>> (
>> >>>>>>>
>> >>>>
>> http://tapestry.apache.org/tapestry5/tapestry-core/component-parameters.html#orgapachetapestrycorelibcomponentscheckbox
>> >>>>
>> >>>>>> ).
>> >>>>>>
>> >>>>>>> When you declare checkbox components you specify the value to
>> which
>> >>>>>>>
>> >>>> it
>> >>>>
>> >>>>>>> is tied. So if you have the following in your template:
>> >>>>>>>
>> >>>>>>> <input t:type="checkbox" value="wantsMail"/>
>> >>>>>>>
>> >>>>>>> Then you must have a boolean property named 'wantsMail' in your
>> >>>>>>> component/page class, with appropriate getters/setters
>> >>>>>>>
>> >>>> (getWantsMail,
>> >>>>
>> >>>>>>> setWantsMail).
>> >>>>>>>
>> >>>>>>> chris
>> >>>>>>>
>> >>>>>>> ronaldlee wrote:
>> >>>>>>>
>> >>>>>>>> Hi,
>> >>>>>>>>
>> >>>>>>>> I wrote a simple component which contain a check list (using
>> >>>>>>>>
>> >>>>>> checkboxes).
>> >>>>>>
>> >>>>>>>> I
>> >>>>>>>> put it in a page where it has a function to listen to the submit
>> >>>>>>>>
>> >>>>>> event.
>> >>>>>>
>> >>>>>>>> Inside my onSuccess function, how can I access that component's
>> >>>>>>>>
>> >>>> check
>> >>>>
>> >>>>>>>> list
>> >>>>>>>> that user has set?
>> >>>>>>>>
>> >>>>>>>> thx.
>> >>>>>>>> Ronald
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>
>> ---------------------------------------------------------------------
>> >>>>
>> >>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>> --
>> >>>>>> View this message in context:
>> >>>>>>
>> >>>>>>
>> >>>>
>> http://www.nabble.com/T5%3A-How-to-access-user-defined-component%27s-properties-tf4794190.html#a13716244
>> >>>>
>> >>>>>> Sent from the Tapestry - User mailing list archive at
>> >>>>>>
>> >>>> Nabble.com <http://nabble.com/><http://nabble.com/>
>> >>>> .
>> >>>>
>> >>>>>>
>> ---------------------------------------------------------------------
>> >>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>> --
>> >>>>> --
>> >>>>> TheDailyTube.com. Sign up and get the best new videos on the
>> internet
>> >>>>> delivered fresh to your inbox.
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>> --
>> >>>> View this message in context:
>> >>>>
>> http://www.nabble.com/T5%3A-How-to-access-user-defined-component%27s-properties-tf4794190.html#a13717098
>> >>>>  Sent from the Tapestry - User mailing list archive at
>> >>>> Nabble.com <http://nabble.com/><http://nabble.com/>
>> >>>> .
>> >>>>
>> >>>>
>> >>>>
>> ---------------------------------------------------------------------
>> >>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >>>> For additional commands, e-mail: [EMAIL PROTECTED]
>> >>>>
>> >>>>
>> >>>>
>> >>> --
>> >>> --
>> >>> TheDailyTube.com. Sign up and get the best new videos on the internet
>> >>> delivered fresh to your inbox.
>> >>>
>> >>>
>> >>>
>> >>
>> >
>> >
>>
>>
> 
> 
> -- 
> --
> TheDailyTube.com. Sign up and get the best new videos on the internet
> delivered fresh to your inbox.
> 
> 

-- 
View this message in context: 
http://www.nabble.com/T5%3A-How-to-access-user-defined-component%27s-properties-tf4794190.html#a13737634
Sent from the Tapestry - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to