You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by "Zheng, Xiahong" <Xi...@FMR.COM> on 2008/01/10 20:05:51 UTC

T4: Newbie's questions

Hi, 

I am exploring Tapestry (currently looking at 4.1.4 snapshot). So far,
the experience has been very positive. I was able to convert a Struts
based application to Tapestry4 in just a couple days. However, I still
need answer to the following questions,

1) Layout management: I couldn't find a documented solution to replace
tiles used by the old application.

2) Dynamic attribute value generation: Something like the following you
can do with JSP

		<input type="submit" value="${button. value}"/>

   How do I achieve this in Tapestry? Is there a component I can use to
generate dynamic content as value for any arbitrary attribute of an HTML
element?


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


Re: T4: Newbie's questions

Posted by Norman Franke <no...@myasd.com>.
Which doesn't work if you want to include a single quote in the  
string, as he seems to want. You can get around this by defining the  
component in the .page file and specifying that property like this:

       <component id="attributesDisplay" type="Insert">

             <binding name="value"  
value="components.table.columnValue" />

             <binding name="renderTag" value="literal:true" />

             <binding name="width" value="literal:100%" />

             <binding name="onmouseover">

                   "return escape(hintAttributesTxt(1,this,'"+attrList 
+"'))"

             </binding>

       </component>



Norman Franke

ASD, Inc.

On Jan 10, 2008, at 4:19 PM, Jesse Kuhnert wrote:

> <input jwcid="@Any" stringValue="ognl:'myStringValue' +  
> page.user.name" />
>
> On Jan 10, 2008 3:52 PM, Zheng, Xiahong <Xi...@fmr.com> wrote:
>> I will try to read OGNL. For now, I did just as you suggested;  
>> created a
>> page method to return the entire string. The down side is: I have
>> JavaScript in my Page class which is vulnerable to UI changes (form
>> element id changes, i.e.).
>>
>> -----Original Message-----
>> From: Norman Franke [mailto:norman@myasd.com]
>> Sent: Thursday, January 10, 2008 3:38 PM
>> To: Tapestry users
>> Subject: Re: T4: Newbie's questions
>>
>>
>> On Jan 10, 2008, at 3:04 PM, Zheng, Xiahong wrote:
>>
>>> Thanks Norman and Ulrich for your quick response. Now I am getting
>>> closer. In my scenario, I want to append a dynamic content to the
>>> "onclick" attribute, not to replace it entirely. See below,
>>>
>>> <input jwcid="@Any"
>>> onclick="document.getElementById('positionId').value="
>>> type="submit" />
>>>
>>> How can I append OGNL expression to the "onclick" attribute?
>>
>> You can have a page method return the entire string, or read up on
>> OGNL. It can do string concatenation.
>>
>> -Norman
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
>
>
> -- 
> Jesse Kuhnert
> Tapestry / OGNL / Dojo team member/developer
>
> Open source based consulting work centered around
> dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>



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


Re: T4: Newbie's questions

Posted by Norman Franke <no...@myasd.com>.
I think that won't work for double quotes, should you need that. That  
was the issue I had originally, I think.

Norman Franke
ASD, Inc.

On Jan 10, 2008, at 4:41 PM, Zheng, Xiahong wrote:

> It works!!! Thanks a bunch.
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Thursday, January 10, 2008 4:33 PM
> To: Tapestry users
> Subject: Re: T4: Newbie's questions
>
> \'
>
> On Jan 10, 2008 4:29 PM, Zheng, Xiahong <Xi...@fmr.com> wrote:
>> How to escape single quote inside my string constant?
>>
>>
>> -----Original Message-----
>> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
>> Sent: Thursday, January 10, 2008 4:19 PM
>> To: Tapestry users
>> Subject: Re: T4: Newbie's questions
>>
>> <input jwcid="@Any" stringValue="ognl:'myStringValue' +
> page.user.name"
>> />
>>
>> On Jan 10, 2008 3:52 PM, Zheng, Xiahong <Xi...@fmr.com>  
>> wrote:
>>> I will try to read OGNL. For now, I did just as you suggested;
> created
>> a
>>> page method to return the entire string. The down side is: I have
>>> JavaScript in my Page class which is vulnerable to UI changes (form
>>> element id changes, i.e.).
>>>
>>> -----Original Message-----
>>> From: Norman Franke [mailto:norman@myasd.com]
>>> Sent: Thursday, January 10, 2008 3:38 PM
>>> To: Tapestry users
>>> Subject: Re: T4: Newbie's questions
>>>
>>>
>>> On Jan 10, 2008, at 3:04 PM, Zheng, Xiahong wrote:
>>>
>>>> Thanks Norman and Ulrich for your quick response. Now I am getting
>>>> closer. In my scenario, I want to append a dynamic content to the
>>>> "onclick" attribute, not to replace it entirely. See below,
>>>>
>>>> <input jwcid="@Any"
>>>> onclick="document.getElementById('positionId').value="
>>>> type="submit" />
>>>>
>>>> How can I append OGNL expression to the "onclick" attribute?
>>>
>>> You can have a page method return the entire string, or read up on
>>> OGNL. It can do string concatenation.
>>>
>>> -Norman
>>>
>>>
>>>
>>>
>>>
> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>>
>>>
> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>
>>
>>
>> --
>> Jesse Kuhnert
>> Tapestry / OGNL / Dojo team member/developer
>>
>> Open source based consulting work centered around
>> dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
>
>
> -- 
> Jesse Kuhnert
> Tapestry / OGNL / Dojo team member/developer
>
> Open source based consulting work centered around
> dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>


RE: T4: Newbie's questions

Posted by "Zheng, Xiahong" <Xi...@FMR.COM>.
It works!!! Thanks a bunch.

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Thursday, January 10, 2008 4:33 PM
To: Tapestry users
Subject: Re: T4: Newbie's questions

\'

On Jan 10, 2008 4:29 PM, Zheng, Xiahong <Xi...@fmr.com> wrote:
> How to escape single quote inside my string constant?
>
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Thursday, January 10, 2008 4:19 PM
> To: Tapestry users
> Subject: Re: T4: Newbie's questions
>
> <input jwcid="@Any" stringValue="ognl:'myStringValue' +
page.user.name"
> />
>
> On Jan 10, 2008 3:52 PM, Zheng, Xiahong <Xi...@fmr.com> wrote:
> > I will try to read OGNL. For now, I did just as you suggested;
created
> a
> > page method to return the entire string. The down side is: I have
> > JavaScript in my Page class which is vulnerable to UI changes (form
> > element id changes, i.e.).
> >
> > -----Original Message-----
> > From: Norman Franke [mailto:norman@myasd.com]
> > Sent: Thursday, January 10, 2008 3:38 PM
> > To: Tapestry users
> > Subject: Re: T4: Newbie's questions
> >
> >
> > On Jan 10, 2008, at 3:04 PM, Zheng, Xiahong wrote:
> >
> > > Thanks Norman and Ulrich for your quick response. Now I am getting
> > > closer. In my scenario, I want to append a dynamic content to the
> > > "onclick" attribute, not to replace it entirely. See below,
> > >
> > > <input jwcid="@Any"
> > > onclick="document.getElementById('positionId').value="
> > > type="submit" />
> > >
> > > How can I append OGNL expression to the "onclick" attribute?
> >
> > You can have a page method return the entire string, or read up on
> > OGNL. It can do string concatenation.
> >
> > -Norman
> >
> >
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
>
> --
> Jesse Kuhnert
> Tapestry / OGNL / Dojo team member/developer
>
> Open source based consulting work centered around
> dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



-- 
Jesse Kuhnert
Tapestry / OGNL / Dojo team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

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




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


Re: T4: Newbie's questions

Posted by Jesse Kuhnert <jk...@gmail.com>.
\'

On Jan 10, 2008 4:29 PM, Zheng, Xiahong <Xi...@fmr.com> wrote:
> How to escape single quote inside my string constant?
>
>
> -----Original Message-----
> From: Jesse Kuhnert [mailto:jkuhnert@gmail.com]
> Sent: Thursday, January 10, 2008 4:19 PM
> To: Tapestry users
> Subject: Re: T4: Newbie's questions
>
> <input jwcid="@Any" stringValue="ognl:'myStringValue' + page.user.name"
> />
>
> On Jan 10, 2008 3:52 PM, Zheng, Xiahong <Xi...@fmr.com> wrote:
> > I will try to read OGNL. For now, I did just as you suggested; created
> a
> > page method to return the entire string. The down side is: I have
> > JavaScript in my Page class which is vulnerable to UI changes (form
> > element id changes, i.e.).
> >
> > -----Original Message-----
> > From: Norman Franke [mailto:norman@myasd.com]
> > Sent: Thursday, January 10, 2008 3:38 PM
> > To: Tapestry users
> > Subject: Re: T4: Newbie's questions
> >
> >
> > On Jan 10, 2008, at 3:04 PM, Zheng, Xiahong wrote:
> >
> > > Thanks Norman and Ulrich for your quick response. Now I am getting
> > > closer. In my scenario, I want to append a dynamic content to the
> > > "onclick" attribute, not to replace it entirely. See below,
> > >
> > > <input jwcid="@Any"
> > > onclick="document.getElementById('positionId').value="
> > > type="submit" />
> > >
> > > How can I append OGNL expression to the "onclick" attribute?
> >
> > You can have a page method return the entire string, or read up on
> > OGNL. It can do string concatenation.
> >
> > -Norman
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
>
> --
> Jesse Kuhnert
> Tapestry / OGNL / Dojo team member/developer
>
> Open source based consulting work centered around
> dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



-- 
Jesse Kuhnert
Tapestry / OGNL / Dojo team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

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


RE: T4: Newbie's questions

Posted by "Zheng, Xiahong" <Xi...@FMR.COM>.
How to escape single quote inside my string constant? 

-----Original Message-----
From: Jesse Kuhnert [mailto:jkuhnert@gmail.com] 
Sent: Thursday, January 10, 2008 4:19 PM
To: Tapestry users
Subject: Re: T4: Newbie's questions

<input jwcid="@Any" stringValue="ognl:'myStringValue' + page.user.name"
/>

On Jan 10, 2008 3:52 PM, Zheng, Xiahong <Xi...@fmr.com> wrote:
> I will try to read OGNL. For now, I did just as you suggested; created
a
> page method to return the entire string. The down side is: I have
> JavaScript in my Page class which is vulnerable to UI changes (form
> element id changes, i.e.).
>
> -----Original Message-----
> From: Norman Franke [mailto:norman@myasd.com]
> Sent: Thursday, January 10, 2008 3:38 PM
> To: Tapestry users
> Subject: Re: T4: Newbie's questions
>
>
> On Jan 10, 2008, at 3:04 PM, Zheng, Xiahong wrote:
>
> > Thanks Norman and Ulrich for your quick response. Now I am getting
> > closer. In my scenario, I want to append a dynamic content to the
> > "onclick" attribute, not to replace it entirely. See below,
> >
> > <input jwcid="@Any"
> > onclick="document.getElementById('positionId').value="
> > type="submit" />
> >
> > How can I append OGNL expression to the "onclick" attribute?
>
> You can have a page method return the entire string, or read up on
> OGNL. It can do string concatenation.
>
> -Norman
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



-- 
Jesse Kuhnert
Tapestry / OGNL / Dojo team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

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



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


Re: T4: Newbie's questions

Posted by Jesse Kuhnert <jk...@gmail.com>.
<input jwcid="@Any" stringValue="ognl:'myStringValue' + page.user.name" />

On Jan 10, 2008 3:52 PM, Zheng, Xiahong <Xi...@fmr.com> wrote:
> I will try to read OGNL. For now, I did just as you suggested; created a
> page method to return the entire string. The down side is: I have
> JavaScript in my Page class which is vulnerable to UI changes (form
> element id changes, i.e.).
>
> -----Original Message-----
> From: Norman Franke [mailto:norman@myasd.com]
> Sent: Thursday, January 10, 2008 3:38 PM
> To: Tapestry users
> Subject: Re: T4: Newbie's questions
>
>
> On Jan 10, 2008, at 3:04 PM, Zheng, Xiahong wrote:
>
> > Thanks Norman and Ulrich for your quick response. Now I am getting
> > closer. In my scenario, I want to append a dynamic content to the
> > "onclick" attribute, not to replace it entirely. See below,
> >
> > <input jwcid="@Any"
> > onclick="document.getElementById('positionId').value="
> > type="submit" />
> >
> > How can I append OGNL expression to the "onclick" attribute?
>
> You can have a page method return the entire string, or read up on
> OGNL. It can do string concatenation.
>
> -Norman
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



-- 
Jesse Kuhnert
Tapestry / OGNL / Dojo team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

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


RE: T4: Newbie's questions

Posted by "Zheng, Xiahong" <Xi...@FMR.COM>.
I will try to read OGNL. For now, I did just as you suggested; created a
page method to return the entire string. The down side is: I have
JavaScript in my Page class which is vulnerable to UI changes (form
element id changes, i.e.). 

-----Original Message-----
From: Norman Franke [mailto:norman@myasd.com] 
Sent: Thursday, January 10, 2008 3:38 PM
To: Tapestry users
Subject: Re: T4: Newbie's questions

On Jan 10, 2008, at 3:04 PM, Zheng, Xiahong wrote:

> Thanks Norman and Ulrich for your quick response. Now I am getting
> closer. In my scenario, I want to append a dynamic content to the
> "onclick" attribute, not to replace it entirely. See below,
>
> <input jwcid="@Any"
> onclick="document.getElementById('positionId').value="  
> type="submit" />
>
> How can I append OGNL expression to the "onclick" attribute?

You can have a page method return the entire string, or read up on  
OGNL. It can do string concatenation.

-Norman




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



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


Re: T4: Newbie's questions

Posted by Norman Franke <no...@myasd.com>.
On Jan 10, 2008, at 3:04 PM, Zheng, Xiahong wrote:

> Thanks Norman and Ulrich for your quick response. Now I am getting
> closer. In my scenario, I want to append a dynamic content to the
> "onclick" attribute, not to replace it entirely. See below,
>
> <input jwcid="@Any"
> onclick="document.getElementById('positionId').value="  
> type="submit" />
>
> How can I append OGNL expression to the "onclick" attribute?

You can have a page method return the entire string, or read up on  
OGNL. It can do string concatenation.

-Norman




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


RE: T4: Newbie's questions

Posted by "Zheng, Xiahong" <Xi...@FMR.COM>.
Hi Marcus,

Thanks for the suggestion. Evaluating T5 is next item on my list. The
reason I decided to look at T4 first is it is production release whereas
T5's release schedule is unclear at this moment.
 

-----Original Message-----
From: Marcus [mailto:mveloso.java@gmail.com] 
Sent: Thursday, January 10, 2008 3:17 PM
To: Tapestry users
Subject: Re: T4: Newbie's questions

Hi Zheng,

Since you are newbie, I think you should try T5. I'm a Tapestry user
since
T3. T5 is more intuitive and easy to learn, in my opinion.

Marcus


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


Re: T4: Newbie's questions

Posted by Marcus <mv...@gmail.com>.
Hi Zheng,

Since you are newbie, I think you should try T5. I'm a Tapestry user since
T3. T5 is more intuitive and easy to learn, in my opinion.

Marcus

RE: T4: Newbie's questions

Posted by "Zheng, Xiahong" <Xi...@FMR.COM>.
Thanks Norman and Ulrich for your quick response. Now I am getting
closer. In my scenario, I want to append a dynamic content to the
"onclick" attribute, not to replace it entirely. See below,

<input jwcid="@Any"
onclick="document.getElementById('positionId').value=" type="submit" /> 

How can I append OGNL expression to the "onclick" attribute?


-----Original Message-----
From: Norman Franke [mailto:norman@myasd.com] 
Sent: Thursday, January 10, 2008 2:15 PM
To: Tapestry users
Subject: Re: T4: Newbie's questions

On Jan 10, 2008, at 2:05 PM, Zheng, Xiahong wrote:

> 1) Layout management: I couldn't find a documented solution to replace
> tiles used by the old application.

Not sure on that one, I don't believe there really is anything  
dealing with layout other than a table.

> 2) Dynamic attribute value generation: Something like the following  
> you
> can do with JSP
>
> 		<input type="submit" value="${button. value}"/>
>
>    How do I achieve this in Tapestry? Is there a component I can  
> use to
> generate dynamic content as value for any arbitrary attribute of an  
> HTML
> element?

The Any component is what you want, I believe:

<input jwcid="@Any" type="submit" value="ognl:value"/>

-Norman



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


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


Re: T4: Newbie's questions

Posted by Norman Franke <no...@myasd.com>.
On Jan 10, 2008, at 2:05 PM, Zheng, Xiahong wrote:

> 1) Layout management: I couldn't find a documented solution to replace
> tiles used by the old application.

Not sure on that one, I don't believe there really is anything  
dealing with layout other than a table.

> 2) Dynamic attribute value generation: Something like the following  
> you
> can do with JSP
>
> 		<input type="submit" value="${button. value}"/>
>
>    How do I achieve this in Tapestry? Is there a component I can  
> use to
> generate dynamic content as value for any arbitrary attribute of an  
> HTML
> element?

The Any component is what you want, I believe:

<input jwcid="@Any" type="submit" value="ognl:value"/>

-Norman



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


RE: T4: Newbie's questions

Posted by "Zheng, Xiahong" <Xi...@FMR.COM>.
Thanks, I'll look into the example.

-----Original Message-----
From: Yunhua Sang [mailto:yunhua.sang@gmail.com] 
Sent: Thursday, January 10, 2008 4:35 PM
To: Tapestry users
Subject: Re: T4: Newbie's questions

Hi Xiahong,

For Layout management, there is a example in Workbench demo:
src\Workbench\src\context\WEB-INF\Border.html
You may have better sense after you take a look of this page.
Cheers,
Yunhua
On Jan 10, 2008 2:26 PM, Ulrich Stärk <ul...@spielviel.de> wrote:

> Zheng, Xiahong schrieb:
> > Hi,
> >
> > I am exploring Tapestry (currently looking at 4.1.4 snapshot). So far,
> > the experience has been very positive. I was able to convert a Struts
> > based application to Tapestry4 in just a couple days. However, I still
> > need answer to the following questions,
> >
> > 1) Layout management: I couldn't find a documented solution to replace
> > tiles used by the old application.
>
> I'm no Struts expert but AFAICR tiles are just some kind of reusable
> templates. In Tapestry every component you write can be compared with a
> tile. Just write your component (with or without a template) and reuse
> it anywhere in your projects.
> To manage a common layout on all pages you write a so called Border
> component which contains layout common to all pages and that contains
> the RenderBody component. If you then wrap your page's components within
>  your Border component, the content of your Border component is
> rendered around them. Look here for an example:
> http://tapestry.apache.org/tapestry4.1/components/general/renderbody.html
>
> >
> > 2) Dynamic attribute value generation: Something like the following you
> > can do with JSP
> >
> >               <input type="submit" value="${button. value}"/>
> >
> >    How do I achieve this in Tapestry? Is there a component I can use to
> > generate dynamic content as value for any arbitrary attribute of an HTML
> > element?
>
> In Tapestry you do that with some OGNL expression. Your example would be
> something like <input jwcid="@Submit" value="ognl:pageProperty" /> which
> would label your button according to a call of getPageProperty() on your
> page class.
>
> Cheers,
>
> Uli
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


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


Re: T4: Newbie's questions

Posted by Yunhua Sang <yu...@gmail.com>.
Hi Xiahong,

For Layout management, there is a example in Workbench demo:
src\Workbench\src\context\WEB-INF\Border.html
You may have better sense after you take a look of this page.
Cheers,
Yunhua
On Jan 10, 2008 2:26 PM, Ulrich Stärk <ul...@spielviel.de> wrote:

> Zheng, Xiahong schrieb:
> > Hi,
> >
> > I am exploring Tapestry (currently looking at 4.1.4 snapshot). So far,
> > the experience has been very positive. I was able to convert a Struts
> > based application to Tapestry4 in just a couple days. However, I still
> > need answer to the following questions,
> >
> > 1) Layout management: I couldn't find a documented solution to replace
> > tiles used by the old application.
>
> I'm no Struts expert but AFAICR tiles are just some kind of reusable
> templates. In Tapestry every component you write can be compared with a
> tile. Just write your component (with or without a template) and reuse
> it anywhere in your projects.
> To manage a common layout on all pages you write a so called Border
> component which contains layout common to all pages and that contains
> the RenderBody component. If you then wrap your page's components within
>  your Border component, the content of your Border component is
> rendered around them. Look here for an example:
> http://tapestry.apache.org/tapestry4.1/components/general/renderbody.html
>
> >
> > 2) Dynamic attribute value generation: Something like the following you
> > can do with JSP
> >
> >               <input type="submit" value="${button. value}"/>
> >
> >    How do I achieve this in Tapestry? Is there a component I can use to
> > generate dynamic content as value for any arbitrary attribute of an HTML
> > element?
>
> In Tapestry you do that with some OGNL expression. Your example would be
> something like <input jwcid="@Submit" value="ognl:pageProperty" /> which
> would label your button according to a call of getPageProperty() on your
> page class.
>
> Cheers,
>
> Uli
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

Re: T4: Newbie's questions

Posted by Kalle Korhonen <ka...@gmail.com>.
On 1/10/08, Ulrich Stärk <ul...@spielviel.de> wrote:
>
> Zheng, Xiahong schrieb:
> > 1) Layout management: I couldn't find a documented solution to replace
> > tiles used by the old application.
> I'm no Struts expert but AFAICR tiles are just some kind of reusable
> templates. In Tapestry every component you write can be compared with a
> tile. Just write your component (with or without a template) and reuse
> it anywhere in your projects.
> To manage a common layout on all pages you write a so called Border
> component which contains layout common to all pages and that contains
> the RenderBody component. If you then wrap your page's components within
>   your Border component, the content of your Border component is
> rendered around them. Look here for an example:
> http://tapestry.apache.org/tapestry4.1/components/general/renderbody.html


One thing that may be complicating things for people with Tiles experience
is to wrap their heads around the fact that you really aren't managing page
snippets, but complete page templates in Tapestry, in other words a Tapestry
page template combines both a Tiles definition and an individiual Tiles page
snippet into one; an approach similar to Facelets. So a Tapestry page
typically always starts with a Border component of your choice (equal to a
Tiles layout definition), containing the body of the page, which the Border
component (template) then injects to an appropriate place with the help of a
Body component to produce the rendered page. What you loose compared to
Tiles is that you have to declare a Border for each page, but you get it
back with the additional flexibility of being able to easily use and switch
to different Borders and the page itself documenting which layout it's
currently using.

Kalle

>
> > 2) Dynamic attribute value generation: Something like the following you
> > can do with JSP
> >
> >               <input type="submit" value="${button. value}"/>
> >
> >    How do I achieve this in Tapestry? Is there a component I can use to
> > generate dynamic content as value for any arbitrary attribute of an HTML
> > element?
>
> In Tapestry you do that with some OGNL expression. Your example would be
> something like <input jwcid="@Submit" value="ognl:pageProperty" /> which
> would label your button according to a call of getPageProperty() on your
> page class.
>
> Cheers,
>
> Uli
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

Re: T4: Newbie's questions

Posted by Ulrich Stärk <ul...@spielviel.de>.
Zheng, Xiahong schrieb:
> Hi, 
> 
> I am exploring Tapestry (currently looking at 4.1.4 snapshot). So far,
> the experience has been very positive. I was able to convert a Struts
> based application to Tapestry4 in just a couple days. However, I still
> need answer to the following questions,
> 
> 1) Layout management: I couldn't find a documented solution to replace
> tiles used by the old application.

I'm no Struts expert but AFAICR tiles are just some kind of reusable 
templates. In Tapestry every component you write can be compared with a 
tile. Just write your component (with or without a template) and reuse 
it anywhere in your projects.
To manage a common layout on all pages you write a so called Border 
component which contains layout common to all pages and that contains 
the RenderBody component. If you then wrap your page's components within 
  your Border component, the content of your Border component is 
rendered around them. Look here for an example: 
http://tapestry.apache.org/tapestry4.1/components/general/renderbody.html

> 
> 2) Dynamic attribute value generation: Something like the following you
> can do with JSP
> 
> 		<input type="submit" value="${button. value}"/>
> 
>    How do I achieve this in Tapestry? Is there a component I can use to
> generate dynamic content as value for any arbitrary attribute of an HTML
> element?

In Tapestry you do that with some OGNL expression. Your example would be 
something like <input jwcid="@Submit" value="ognl:pageProperty" /> which 
would label your button according to a call of getPageProperty() on your 
page class.

Cheers,

Uli

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