The
<cms:include>
tag
This tag is used to include files from the OpenCms VFS dynamically at runtime. The included file is treated like a request with optional additional request parameters.
There are different options to determine the name of the included file by using one of the following attributes:
-
page
-
property
-
attribute
If none of these attributes has been set, the body of the
<cms:include>
tag is evaluated and the result is used as filename.
Note: If no filename can be determined by any of the above mentioned methods, then the value of
the
getUri()
method of the current
CmsRequestContext
is used.
Attributes:
Name | Description | Required |
page (file) | The value of this attribute specifies simply the name of the file which is included. The attribute names "page" and "file" are equivalent. | no |
property | The value of this attribute is the name of a property on the JSP file, which in turn specifies the name of the file which is included. | |
attribute | The value of this attribute is the key of an entry in the request attributes hashtable with the name of the file to be included. You then have to set the filename programmatically in the request parameters in your Java source before. | |
element | If the included JSP page is split into elements by the
cms:template tag, only the specified element of the JSP page is included.
Otherwise, the complete JSP page is included, even if the page is split into elements!
Note: The element attribute is treated as an additional request parameter in the request context. |
|
suffix | Appends a suffix string to the filename included via the
property attribute or the
attribue attribute. |
|
cachable | If this attribute is set with the value "false", the included file will not be cached by the Flexcache. |
Body:
You can use scriptlet code to determine the included filename in the body if none of the
attributes
page
/
file
,
property
or
attribute
is used.
You can add additional key/value coded parameters to the request parameters hashtable to pass
them to the included file, e.g.
<cms:param name="myparam" value="myvalue" />
.
Example usage:
Include the JSP page "some_page.html":
<cms:include page="some_page.html" /> or <cms:include file="some_page.html" />
Read the name of the file to be included from the property "template" on the current file, append additionally the suffix "_head.jsp" to the filename (the "suffix" attribute is optional):
<cms:include property="template" suffix="_head.jsp" />
Evaluate the tag's body content to get the name of the file to be included by processing a property tag:
<cms:include>
<cms:property name="template" file="parent"/>
</cms:include>
Include a file by setting its filename in the request attributes hashtable, add additionally some key/value coded parameters to the request parameters hashtable to pass them to the included file:
<%
...
request.setAttribute( "body", "../elements/template-body.html" );
...
%>
<cms:include attribute="body">
<cms:param name="__locale"><%= locale %></cms:param>
</cms:include>
Include the file specified in the "file" attribute, add additionally some key/value coded parameters to the request parameters hashtable to pass them to the included file:
<cms:include file="../elements/template-nav-top.jsp">
<cms:param name="__locale"><%= locale %></cms:param>
<cms:param name="__navpart" value="toprow" />
</cms:include>
Include the element "head" from the JSP page specified by the "template" property:
<cms:include property="template" element="head" />