JSP include指令静态包含java的jsp页面

jsp中include指令是将不同的文件插入到JSP网页中,这些文件可以是文本文件、HTML文件、JSP 文件等。

语法

<%@include file="相对路径"%>

include指令用于通知JSP引擎在翻译当前JSP页面时将其他文件中的内容合并进当前JSP页面转换成的Servlet源文件中,这种在源文件级别进行引入的方式称之为静态引入,当前JSP页面与静态引入的页面紧密结合为一个Servlet。

file属性用于指定被引入文件的相对路径。

例子

header.jsp:

<%@page contentType="text/html;charset=gb2312"%>  
<h2 style="font-family:arial;color:red;font-size:25px;text-align:center">  
         静态包含的标题(JSP)  
</h2>  

StaticInclude.jsp:

<%@page language="java" contentType="text/html;charset=gb2312"%>  
<html>  
         <head>  
                   <title>静态包含</title>  
         </head>  
         <body style="background-color:lightblue">  
   
                   <%@include file="header.jsp"%><!--静态包含-->  
                   <table border="1" align="center">  
                            <tr>  
                                     <td>姓名</td><td>性别</td><td>年龄</td><td>爱好</td>  
                            </tr>  
                            <tr>  
                                     <td>a</td><td>b</td><td>c</td><td>d</td>  
                            </tr>  
                   </table>  
         </body>  
</html> 

运行之后生成一个servlet

out.write("\r\n");  
out.write("<html>\r\n");  
out.write("\t<head>\r\n");  
out.write("\t\t<title>静态包含</title>\r\n");  
out.write("\t</head>\r\n");  
out.write("\t<body style=\"background-color:lightblue\">\r\n");  
out.write("\r\n");  
out.write("\t\t");  
out.write("\r\n");  
<span style="color:#ff0000;">out.write("<h2 style=\"font-family:arial;color:red;font-size:25px;text-align:center\">\r\n");  
out.write("\t静态包含的标题(JSP)\r\n");  
out.write("</h2>");</span>  
out.write("<!--静态包含-->\r\n");  
out.write("\t\t<table border=\"1\"align=\"center\">\r\n");  
out.write("\t\t\t<tr>\r\n");  
out.write("\t\t\t\t<td>姓名</td><td>性别</td><td>年龄</td><td>爱好</td>\r\n");  
out.write("\t\t\t</tr>\r\n");  
 out.write("\t\t\t<tr>\r\n");  
out.write("\t\t\t\t<td>a</td><td>b</td><td>c</td><td>d</td>\r\n");  
out.write("\t\t\t</tr>\r\n");  
out.write("\t\t</table>\r\n");  
out.write("\t</body>\r\n");  
out.write("</html>");  

总结

1. include被引入的文件必须遵循JSP语法,其中的内容可以包含静态HTML、JSP脚本元素、JSP指令和JSP行为元素等普通JSP页面所具有的一切内容;

2. include被引入的文件可以使用任意的扩展名,即使其扩展名是html,JSP引擎也会按照处理jsp页面的方式处理它里面的内容,为了见明知意,JSP规范建议使用.jspf(JSP fragments. 作为静态引入文件的扩展名;

3. 在将JSP文件翻译成Servlet源文件时,JSP引擎将合并被引入的文件与当前JSP页面中的指令元素(设置pageEncoding属性的page指令除外. ,所以,除了import和pageEncoding属性之外,page指令的其他属性不能在这两个页面中有不同的设置值;

4. 除了指令元素之外,被引入的文件中的其他元素都被转换成相应的Java源代码,然后插入进当前JSP页面所翻译成的Servlet源文件中,插入位置与include指令在当前JSP页面中的位置保持一致;

5. include引入文件与被引入文件是在被JSP引擎翻译成Servlet的过程中进行合并,而不是先合并源文件后再对合并的结果进行翻译。当前JSP页面的源文件与被引入文件的源文件可以采用不同的字符集编码,即使在一个页面中使用page指令的pageEncoding或contentType属性指定了其源文件的字符集编码,在另外一个页面中还需要用page指令的pageEncoding或contentType属性指定其源文件所使用的字符集 ;

6. include中file属性的设置值必须使用相对路径,如果以“/”开头,表示相对于当前WEB应用程序的根目录(注意不是站点根目录,否则,表示相对于当前文件

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。