Choose an Appropriate Include Mechanism
JSP provides two ways to include content
in a page: the include directive (<%@
include file=" . . . " %>) and the include
action (<jsp:include page=" . . . " />). As
shown earlier, JSTL adds an import action (<c:import url=" . . . " />) to the mix.
The
include directive and the include action both include content from
resources that belong to the same web application as the including
file. The directive includes the source of the specified resource,
either a static file or a file with JSP elements. When a JSP file is
included this way, it shares the page scope (and all other scopes) as
well as all scripting variables with the including file. The included
file is rarely a syntactically complete JSP or HTML page, and I
recommend that a different file extension be used to highlight this
fact. Any extension will do, but good choices are
.jspf and .htmlf, in which
“f” stands for
“fractional” (as described
earlier). The JSP 1.2 specification leaves detecting changes in a
file included by the include directive as an
optional feature. In a container that doesn’t detect
these changes, changes to an included file have no effect until you
force a recompile of the including file (e.g., by removing the
corresponding class file or “touching” the file).
The include action, on the other hand, includes the response produced by executing the specified resource, either a JSP page or a servlet. The included resource has access to the same scopes as the including ...