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/>
>>> .
>>> >>
>>> >>
>>> >> ---------------------------------------------------------------------
>>> >> 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/>
>>> .
>>>
>>>
>>> ---------------------------------------------------------------------
>>> 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#a13732234
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