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: