struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keven" <hinb...@yahoo.ca>
Subject Re: template
Date Wed, 04 Sep 2002 01:58:03 GMT
Hi,Sean, David and Cedric:

Thank you very much for your reply.
Sean, I tried with the ziped files. It works fine. Thank you very much to make it so clear.

Now, I am trying to use the same strategy to work with struts example(I modified the example
for practise only). I have put all jsp files under Struts-example directory. I have index.jsp
as following:

template.jsp
--------------

<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>

<html>
<head>
<title><template:get name='title'/></title>
</head>

<frameset  rows="20%,*">

  <FRAME src="<template:get name='header'/>">
  <FRAME src="<template:get name='content'/>">

</frameset>
</html>
-------------------------------------------------------------------------------------------------

index.jsp:
------------

<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
<template:insert template='template.jsp'>
  <template:put name='title' content='Templates' direct='true'/>
  <template:put name='header' direct='true' >
   <%= request.getContextPath() %>/Heading.jsp
  </template:put>
  <template:put name='content' direct='true'>
   <%= request.getContextPath() %>/tour.html
  </template:put>
</template:insert>
----------------------------------------------------------------------------------------------------------------------------------------------------------------

Heading.jsp:
---------------

<%@ page import="org.apache.struts.webapp.example.Constants" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<logic:present name="Constants.USER_KEY" scope = "session">

  <a href="editRegistration.do?action=Edit" >MyAccount</a>

  </logic:present>

  <logic:notPresent name="Constants.USER_KEY" scope = "session">

  <a href="editRegistration.do?action=Create" >join us</a>

</logic:notPresent>
-----------------------------------------------------------------------------------------------------------------------------------------------------
When I enter http://localhost:8080/Struts-example/index.jsp, I got the a page with join us
on the header(top frame), and the content of tour.html on the bottom frame.

When I click Join us link at the header, I want to have 1). URL changed to http://localhost:8080/Struts-example/editRegistration.do?action=Create,
2)  MyAccount on the header(top frame), and 3)  whatever content the above URL corresponding
to on the bottom frame. In order to achieve this, I need to implement a jsp file which uses
the template.jsp. The jsp file should be something like:

myJsp.jsp:
------------

<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
<template:insert template='template.jsp'>
  <template:put name='title' content='Templates' direct='true'/>
  <template:put name='header' direct='true' >
   <%= request.getContextPath() %>/Heading.jsp
  </template:put>
  <template:put name='content' direct='true'>
   <%= request.getContextPath() %>/?????(What should I put here)
  </template:put>
</template:insert>

My question is: what should I put in the above commented area? I tried to put registration.jsp.
It just doesn't work.

David, you said that "Struts templates do not work with HTML frames". So we have no way to
achieve this by using Struts template. Is my understanding right? From Cedric's answer, it
seems there is a way in intermixed. I never used intermixed before. I will have a look at
it.

My boss likes to use frame with Struts framework. Is it really possible to do it? or we have
to make decision to not use frame? Your opinion and help is appreciated.

Once again, many thanks to Sean, David and Cedric.

Regards.
Keven





----- Original Message ----- 
From: "Sean Gay" <sean.gay@modus.com.au>
To: "Struts Users Mailing List" <struts-user@jakarta.apache.org>
Cc: <hinbsls@yahoo.ca>
Sent: Monday, September 02, 2002 10:28 PM
Subject: RE: template


> Kevin,
> 
> Firstly let me apologise for giving you slightly incorrect information about
> your problem initially. Never fear though I have a working solution for you.
> 
> Using the direct=true is correct in this case as you are putting the output
> into a frameset (I missed this initially) and not including the file into
> the template. This being the case you need to treat it like a string and
> have the full path to the file placed in here. I think where things are
> going wrong is where you may have a context path which is making your app
> look in the wrong spot for the file when it tries to display within the
> frameset. If you include this context path where you are outputting
> "welcome.html" you should be right.
> 
> I have done this in the attached zip. If you just unzip and place in the
> directory that you have your app running you should be able to see what I am
> explaining.
> 
> Again sorry for the initial goose chase that I sent you on.
> 
> Regards,
> Sean
> 
> -----Original Message-----
> From: Keven [mailto:hinbsls@yahoo.ca]
> Sent: Tuesday, September 03, 2002 10:06 AM
> To: Struts Users Mailing List
> Subject: Re: template
> 
> 
> Sean:
> 
> Thank you for your reply.
> I removed direct='true'. So the index.jsp is look like:
> 
> <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
> 
> <template:insert template='/template.jsp'>
> 
>   <template:put name='title' content='Templates' direct='true'/>
>   <template:put name='header' content='/welcome.html' />
>   <template:put name='content' content='/welcome.html'  />
> </template:insert>
> 
> welcome.jsp is:
> 
> <html>
> <head>
> <title> New Document </title>
> </head>
> 
> <body>
>  Hello
> </body>
> </html>
> 
> When I run index.jsp, the error changed to:
> 
> Apache Tomcat/4.0.4 - HTTP Status 404 - /<html> <head><title> New Document
> </title></head><body>Hello</body></html>
> 
> ----------------------------------------------------------------------------
> ----
> 
> type Status report
> 
> message /<html> <head><title> New Document
> </title></head><body>Hello</body></html>
> 
> description The requested resource (/<html> <head><title> New Document
> </title></head><body>Hello</body></html>) is not available.
> 
> Could you please give me a clue what is wrong this time?
> 
> Thank you very much!
> 
> Keven
> 
> 
> 
> 
> ----- Original Message -----
> From: "Sean Gay" <sean.gay@modus.com.au>
> To: "Struts Users Mailing List" <struts-user@jakarta.apache.org>
> Cc: <hinbsls@yahoo.ca>
> Sent: Monday, September 02, 2002 7:21 PM
> Subject: RE: template
> 
> 
> > Hey Kevin,
> >
> > I think I know what is going on here.
> >
> > When you are doing "<template:put name='header' content='/welcome.html'
> > direct='true'/>" you are using direct=true which directly outputs the
> string
> > "/welcome.html" as the file to be used for the header. This would mean
> that
> > any contextPath that you have for your server is not being applied and as
> > such no file can be found as it is looking for it in the root of your web
> > server.
> >
> > I think that what you should be using is something like the following
> which
> > will include the file rather than just outputting the string.
> "<template:put
> > name='header' content='/welcome.html'/>"
> >
> > The same would apply for the content.
> >
> > Hopefully this solves your problem. I usually only create separate files
> if
> > they are going to be used over multiple pages, such as navigation, page
> > headers etc. You could also do something like this to save having
> > superfluous files lying around.
> >
> > <template:put name='content'>
> >     INSERT YOUR PAGE CONTENT IN HERE
> > </template:put>
> >
> > Regards,
> > Sean
> >
> > -----Original Message-----
> > From: Keven [mailto:hinbsls@yahoo.ca]
> > Sent: Tuesday, September 03, 2002 8:48 AM
> > To: Struts Users Mailing List
> > Subject: template
> >
> >
> > Hi, All:
> >
> > I have a template jsp called template.jsp. The content of template.jsp is:
> >
> > <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
> >
> > <html>
> > <head>
> > <title><template:get name='title'/></title>
> > </head>
> >
> > <frameset  rows="20%,*">
> >
> >   <FRAME src="<template:get name='header' flush='true'/>">
> >   <FRAME src="<template:get name='content' flush='true'/>">
> >
> > </frameset>
> > </html>
> >
> > I have another jsp file called  index.jsp which uses the template.jsp. The
> > content of index.jsp is:
> >
> > <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
> >
> > <template:insert template='/template.jsp'>
> >
> >   <template:put name='title' content='Templates' direct='true'/>
> >   <template:put name='header' content='/welcome.html' direct='true'/>
> >   <template:put name='content' content='/tour.html' direct='true' />
> > </template:insert>
> >
> > Whenever I tried to run it in tomcat, I got
> > "Apache Tomcat/4.0.4 - HTTP Status 404 - /welcome.html
> >
> > type Status report
> >
> > message /Welcome.html
> >
> > description The requested resource (/Welcome.html) is not available.
> >
> > "
> > Apache Tomcat/4.0.4 - HTTP Status 404 - /tour.html"
> >
> > type Status report
> >
> > message /tour.html
> >
> > description The requested resource (/tour.html) is not available.
> >
> >
> >
> > I got the above messages in different frame.I don't know what cause the
> > problem. Some one knows how to fix it?
> >
> > Thank you very much
> >
> > Keven
> >
> >
> >
> >
> >
> >
> > --
> > To unsubscribe, e-mail:
> <mailto:struts-user-unsubscribe@jakarta.apache.org>
> > For additional commands, e-mail:
> <mailto:struts-user-help@jakarta.apache.org>
> 


--------------------------------------------------------------------------------


> --
> To unsubscribe, e-mail:   <mailto:struts-user-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail: <mailto:struts-user-help@jakarta.apache.org>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message