JSTL with

The disadvantage of using the or the include directive is that we can only include the content or files which are the part of the current web application.

JSTL with

JSTL <c:import> with <c:param>

        

The disadvantage of using the <jsp:include> or the include directive is that we can only include the content or files which are the part of the current web application. But by using the jstl <c:import> we can also include those contents or files which are not a part of the current web application but lying somewhere outside the web application. So, the jstl <c:import> is more useful than the <jsp:include> .

In the example given below we are going import one file which is in the current web application. This tag works like the <jsp: include> but it is much more flexible and powerful. In this program we have used only one attribute of <c:import> that is url in which we will specify the path of the file which we want to import in our file. In the program we have also used the <c:param> core action tag which is a child of the <c:import>. The <c:param> takes two attributes, one is name and the second one  is the value. The tag <c:param> is used to customize the thing which we want to include. 

The code of the program is given below:

 

<%@ taglib uri = "http://java.sun.com/jstl/core" prefix = "c"%>
<html>
<head>
<title>Use of c:import in jstl</title>
</head>
<body>
<c:import url = "JSTLImportingDate.jsp">
<c:param name = "date" value = "<h1>So Have you seen the date</h1>"/>
</c:import>
</body>
</html>

 

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<html>
<head>
<title>This page is imported</title>
</head>
<body>
<c:import url = "Date.jsp"/>
<strong>${param.date}</strong>
</body>
</html>

The output of the program is given below:

Download this example.