T4: Newbie's questions

2008-01-10 Thread Zheng, Xiahong
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: T4: Newbie's questions

2008-01-10 Thread Norman Franke

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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: T4: Newbie's questions

2008-01-10 Thread Ulrich Stärk

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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: T4: Newbie's questions

2008-01-10 Thread Marcus
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

2008-01-10 Thread Kalle Korhonen
On 1/10/08, Ulrich Stärk [EMAIL PROTECTED] 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: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




RE: T4: Newbie's questions

2008-01-10 Thread Zheng, Xiahong
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:[EMAIL PROTECTED] 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


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



Re: T4: Newbie's questions

2008-01-10 Thread Norman Franke

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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: T4: Newbie's questions

2008-01-10 Thread Zheng, Xiahong
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:[EMAIL PROTECTED] 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



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



Re: T4: Newbie's questions

2008-01-10 Thread Jesse Kuhnert
input jwcid=@Any stringValue=ognl:'myStringValue' + page.user.name /

On Jan 10, 2008 3:52 PM, Zheng, Xiahong [EMAIL PROTECTED] 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:[EMAIL PROTECTED]
 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: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



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





-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: T4: Newbie's questions

2008-01-10 Thread Zheng, Xiahong
How to escape single quote inside my string constant? 

-Original Message-
From: Jesse Kuhnert [mailto:[EMAIL PROTECTED] 
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 [EMAIL PROTECTED] 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:[EMAIL PROTECTED]
 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: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



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





-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



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



Re: T4: Newbie's questions

2008-01-10 Thread Norman Franke
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 [EMAIL PROTECTED] 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:[EMAIL PROTECTED]
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



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






--
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





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



Re: T4: Newbie's questions

2008-01-10 Thread Jesse Kuhnert
\'

On Jan 10, 2008 4:29 PM, Zheng, Xiahong [EMAIL PROTECTED] wrote:
 How to escape single quote inside my string constant?


 -Original Message-
 From: Jesse Kuhnert [mailto:[EMAIL PROTECTED]
 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 [EMAIL PROTECTED] 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:[EMAIL PROTECTED]
  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: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 



 --
 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: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



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





-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: T4: Newbie's questions

2008-01-10 Thread Yunhua Sang
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 [EMAIL PROTECTED] 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: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




RE: T4: Newbie's questions

2008-01-10 Thread Zheng, Xiahong
It works!!! Thanks a bunch.

-Original Message-
From: Jesse Kuhnert [mailto:[EMAIL PROTECTED] 
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 [EMAIL PROTECTED] wrote:
 How to escape single quote inside my string constant?


 -Original Message-
 From: Jesse Kuhnert [mailto:[EMAIL PROTECTED]
 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 [EMAIL PROTECTED] 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:[EMAIL PROTECTED]
  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: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 
 
-
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 



 --
 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: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



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





-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




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



Re: T4: Newbie's questions

2008-01-10 Thread Norman Franke
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:[EMAIL PROTECTED]
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 [EMAIL PROTECTED] wrote:

How to escape single quote inside my string constant?


-Original Message-
From: Jesse Kuhnert [mailto:[EMAIL PROTECTED]
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 [EMAIL PROTECTED]  
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:[EMAIL PROTECTED]
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





-

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






--
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



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






--
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




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





RE: T4: Newbie's questions

2008-01-10 Thread Zheng, Xiahong
Thanks, I'll look into the example.

-Original Message-
From: Yunhua Sang [mailto:[EMAIL PROTECTED] 
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 [EMAIL PROTECTED] 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: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




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