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




Reply via email to