jsp:include,include命令と


jstl tagは動的ロードです.しかし、c:importはもっと柔軟です.jsp:includeは、現在のweb appの下のページのみをincludeできますが、c:importは外部コンテナからコンテンツをロードできます.
 
動的ロードと静的ロードの最も根本的な違いは、jspによって生成されるservletの違いである.tomcatでの静的(include directive)および動的(include action)の_jspService()コードは、次のとおりです.
out.write(“<html><body>\r”);
out.write(“\r<html>\r<body>\r<img src=\”images/Web-Services.jpg\” >
<br>\r<em><strong>We know how to make SOAP suck less.</strong></em> <br>\r\r
</body>\r</html>\r”);


out.write(“\r<br>\r\r\r<em>We can help.</em> <br><br>\r\rContact us at: “);
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.
proprietaryEvaluate(“${initParam.mainEmail}”, java.lang.String.class,
(PageContext)_jspx_page_context, null, false));
out.write(“\r\r\r</body></html>”);

動的なのは次のとおりです.
out.write(“<html><body>\r”);
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response,
“Header.jsp”, out, false);


out.write(“\r<br>\r\r\r<em>We can help.</em> <br><br>\r\rContact us at: “);
out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.
proprietaryEvaluate(“${initParam.mainEmail}”, java.lang.String.class,
(PageContext)_jspx_page_context, null, false));
out.write(“\r\r\r</body></html>”);
 
静的なのはincludeするページをservletに直接書くことで、servletが生成されると修正できません.動的な場合は異なり、実行時にページがインポートされます.
 
また、jsp:includeおよびc:importは、jsp:paramおよびc:paramをそれぞれ使用してパラメータを設定してincludeのページを制御することができます.