File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Web Component Certification (SCWCD/OCPJWCD) and the fly likes what's the # btw include , pageContext.include and jsp:include Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Professional Certification » Web Component Certification (SCWCD/OCPJWCD)
Reply Bookmark "what Watch "what New topic
Author

what's the # btw include , pageContext.include and jsp:include

Reda Mokrane
Ranch Hand

Joined: Jul 25, 2001
Posts: 231
What is the difference between the of <%@ include file="relative url" %> , <% pageContext.include(String relativeUrlPath); %> and
<jsp:include page="relative URL" flush="true" />
Thanks
Axel Janssen
Ranch Hand

Joined: Jan 08, 2001
Posts: 2164
Hi Reda,
the <%@ include file="relative url" %> is a jsp-directive.
It takes action at translation time of jsp -> servlet by the jsp engine.
(Translation time means: The jsp engine creates a servlet from the jsp and compiles it, when it was first invoked or on startup of server, if you set some parameters in web.xml. If u use Tomcat you find this servlet in a subirectory of the directory named "work" of your Tomcat-Server.)

The <jsp:include page="relative URL" flush="true" /> is a jsp-action tag. It takes action at request-time. You can pass parameters to the included page:

Of course, you cant do that with the directive-included file. It makes no sense because at translation time you have no user input.
Its quite instructive to see what the jsp - engine of tomcat actually generates out of the jsp. An example for a include directive you can find in the include example (http://localhost:8080/examples/jsp/include/include.jsp) of tomcat (just search in the work directory for the generated servlet). Here are the relevant parts:
-> 1. jsp engine converts <%@ include file="foo.jsp" %> to:


2. jsp engine converts the <jsp:include page="foo.jsp" flush="true"/> to:

The pageContext.include(String relativeUrlPath); is a method of the javax.servlet.jsp.PageContext class
It must work at request time. You cant pass parameters to the included page (my deduction), but you may set the included page dynamically (as the URL is a parameter).
Puh. Lots of before-breakfast-work . Correct me if I am wrong.
Axel
[ January 22, 2002: Message edited by: Axel Janssen ]
[ January 22, 2002: Message edited by: Axel Janssen ]
[ January 22, 2002: Message edited by: Axel Janssen ]
Reda Mokrane
Ranch Hand

Joined: Jul 25, 2001
Posts: 231
Axel, thanks for a quick reply, that was an excellent explanation.
Thanks again
ersin eser
Ranch Hand

Joined: Feb 22, 2001
Posts: 1072

The pageContext.include(String relativeUrlPath); is a method of the javax.servlet.jsp.PageContext class
It must work at request time. You cant pass parameters to the included page

Can't you encodeURL and pass? Ie: when jsessionid is encoded in url ?
Axel Janssen
Ranch Hand

Joined: Jan 08, 2001
Posts: 2164
Originally posted by ersin eser:

Can't you encodeURL and pass? Ie: when jsessionid is encoded in url ?

Sorry. Forgot that. You should allways be able to pass variables with the url. Haven't tested it.
Axel
[ January 24, 2002: Message edited by: Axel Janssen ]
 
 
subject: what's the # btw include , pageContext.include and jsp:include
 
Threads others viewed
jsp:include vs pageContext.include()
pageContext.include VS jsp:include VS RequestDispatcher.include
forward and include
difference between pageContext.include and jsp:include
include
IntelliJ Java IDE