Hi,
If you go by the tiles Definition approach, you just write one jsp per page and U dont
need to write another jsp which will assemble all jsps together(in most of the cases).
And the task of assembling the various portions for the page(In case of a classic
layout, the header,footer,menu and content)is done by definition.This definition is
done in an xml file(tiles-defs.xml.)
And then from action mapping , u can directly call this definition as forward.
Following is example.
************************************
STEP 1:
I have classic layout.So i will have one definition for classic layout as follows(in
tiles.defs.xml..).
<!-- Master definition
-->
<!-- Classic layout used as root for other pages -->
<!-- ======================================================= -->
<definition name="eq.base.classicLayout"
path="/WEB-INF/jsp/tiles/classicLayout_template.jsp">
<put name="header" value="/WEB-INF/jsp/tiles/header.jsp" />
<put name="navigation" value="/WEB-INF/jsp/tiles/sidebar.jsp" />
<put name="content" value="specify content here."/>
<put name="footer" value="/WEB-INF/jsp/tiles/footer.jsp" />
</definition>
STEP2:
Then i need to create myHomePAge which will have classic layout but only the content
portion has to be different.So i will add another definition as follows.
<definition name="eq.ps.homepage" extends="eq.base.equateLayout">
<put name="content"
value="/WEB-INF/jsp/pages/ps/myhomepage.jsp"/>
</definition>
As u can see, i have just overridden what i need to.rest is taken from the super
definition.
Step3:
In the struts configiguration file, while defining the action mapping, instead of
using the jsp name in the forward,use the definition name as follows.
<action
path="/openHomepage"
type="HomepageOpenAction"
name="homepageForm"
scope="request">
<forward name="homepage" path=" eq.ps.homepage "/>
</action>
Thats it.So if i need another page, i will add another definition extending the
classicLayout definition.And refere to it directly from struts config file.
Hope this clears al your doubts.
regards,
Shirish
-----Original Message-----
From: Nimish Chourey , Tidel Park - Chennai
[mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 03, 2003 4:30 PM
To: Struts Users Mailing List
Subject: RE: Tiles Two JSP's for Displaying One Form .
Yes .. now you exacly understand my problem ..
See these form pages are direct links from the Menu and not result of some
action ..
I mean there is no form Submission and no action .. Just a link is clicked
..
Can you give an example for that .. if possible ..I mean how I can avoid
writing index.jsp ...
Thanks for being so polite :))
-----Original Message-----
From: Jeff Kyser [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 03, 2003 7:46 PM
To: Struts Users Mailing List
Subject: Re: Tiles Two JSP's for Displaying One Form .
<politely>I think you're still missing something.</politely>
Now you have the tiles named in the tiles-config file,
you can name them as the input or forward in the struts-config
file. You don't have to have a page that does nothing but
include other pages. There may be some page generated
on your behalf, but you don't have to write it - just name the
appropriate content="" (if that's what you called it in your
tiles-config file) and IT does the include for you.
-jeff
On Tuesday, June 3, 2003, at 09:00 AM, Nimish Chourey , Tidel Park -
Chennai wrote:
> Hi I agree with you .. But see ..below you have created a definition
> "doc.login" .. So your content (body) JSP is "login.jsp" .
> Count this as one .
> Now You need a JSP to insert this definition . .. Say index.jsp ..
> My index.jsp will look something like this ..
>
> <%@ page language="java" %>
> <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
>
> <tiles:insert definition="doc.login" flush="true" />
>
> Now Count this JSP as number 2 ..
>
>
> Hence to build the whole page I m using Two JSP ..
> Hope I have made my question clear ..
>
> And If still I m missing some thing .. Let me know ..
>
>
>
>
>
>
> -----Original Message-----
> From: Bailey, Shane C. [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, June 03, 2003 7:07 PM
> To: 'Struts Users Mailing List'
> Subject: RE: Tiles Two JSP's for Displaying One Form .
>
>
>
>
> Content of tiles-defs.xml:
> <!-- ======================================================= -->
> <!-- View page Templates -->
> <!-- ======================================================= -->
> <definition name="doc.Layout1" path="/view/main/plain_layout.jsp">
> <put name="title" value="ACINT21" />
> <put name="header" value="/view/main/header.jsp" />
> <put name="body" value="/view/main/body.jsp" />
> <put name="footer" value="/view/main/footer.jsp" />
> </definition>
>
> <!-- ======================================================= -->
> <!-- View page definitions -->
> <!-- ======================================================= -->
> <!-- Login Page -->
> <definition name="doc.login" extends="doc.Layout1">
> <put name="title" value="Login" />
> <put name="body" value="/view/login/login.jsp" />
> </definition>
> <!-- Welcome (after successful login) Page -->
> <definition name="doc.welcome" extends="doc.Layout1">
> <put name="title" value="Welcome Here" />
> <put name="body" value="/view/main/welcome.jsp" />
> </definition>
> <definition name="doc.welcome2" extends="doc.Layout1">
> <put name="title" value="Welcome Here2" />
> <put name="body" value="/view/main/welcome2.jsp" />
> </definition>
> <definition name="doc.welcome3" extends="doc.Layout1">
> <put name="title" value="Welcome Here3" />
> <put name="body" value="/view/main/welcome3.jsp" />
> </definition>
>
> Then in the action mapping in struts config you forward to "doc.login"
> etc.
>
> With a few extra pages, for the layout, header, footer; I only need a
> single
> page (the body) for every new def. So the overhead may be two or 3
> Pages at first but then it grows by one for ever new def. This is
> just one
> way and it works for me. I'm sure there are more efficient (less
> pages) but
> this way seems to be easy to understand and small after the original
> overhead.
>
> -----Original Message-----
> From: Nimish Chourey , Tidel Park - Chennai
> [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, June 03, 2003 9:15 AM
> To: Struts Users Mailing List
> Subject: RE: Tiles Two JSP's for Displaying One Form .
>
> And you need to have 40 JSP's to insert those 40 Definintions ...
> Isnt it ??
>
> Fine You have one JSp for the Body content .. Then you extend from the
> master page to make a new definition in the XML file .
> But then I require another JSP which actually inserts that definition
> ...
>
>
> -----Original Message-----
> From: Jeff Kyser [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, June 03, 2003 6:24 PM
> To: Struts Users Mailing List
> Subject: Re: Tiles Two JSP's for Displaying One Form .
>
>
> No, it should be more like 40 + 1 per re-usable tile component
>
> I set up a 'master page' with the basic layout,
> and perhaps a 'menu' include containing my menu buttons / links,
> and then the tiles definition just inserts the content into a
> definition
> derived from the master page layout. And that is all done in
> the tiles-config.xml file
>
> So you might have 40 definitions in your tiles config + 40 body content
> JSPs,
> but certainly not 80 JSPs.
>
> or at least that's my way of thinking on the matter
>
> -jeff
>
> On Tuesday, June 3, 2003, at 07:41 AM, Nimish Chourey , Tidel Park -
> Chennai wrote:
>
>> Hi ,
>> In my application there may be around 40 forms . I am using the
>> classic layout for the application .
>> the body changes for every page , I mean I have a different JSP's for
>> these
>> forms .
>> Each form is submitted and a result page is desplayed .
>> Now my question is if I have 40 forms , so do I need to create total
>> of 80
>> JSP (Excluding the result page) ??
>> I mean one JSP having the body content and the other one to integrate
>> all
>> tiles .
>> The second option could be using one JSP having all the insert Tags
>> with the
>> Body content .
>>
>> Is there any better option available ??
>> This question is not for the results page as I know the result page
>> can be
>> directly called from the action .
>>
>> Nimish
>
>
> ---------------------------------------------------------------------
> 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]
---------------------------------------------------------------------
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]