高手请进!急!

2024-11-27 18:25:49
推荐回答(1个)
回答1:

描述
<%@include %>指命将会在JSP编译时插入一个包含文本或代码的文件,当你使用<%@ include %>指命时,这个包含的过程就当是静态的。静态的包含就是指这个被包含的文件将会被插入到JSP文件中去,这个包含的文件可以是JSP文件,HTML文件,文本文件。如果包含的是JSP文件,这个包含的JSP的文件中代码将会被执行。
如果你仅仅只是用include 来包含一个静态文件。那么这个包含的文件所执行的结果将会插入到JSP文件中放<% @ include %>的地方。一旦包含文件被执行,那么主JSP文件的过程将会被恢复,继续执行下一行.
这个被包含文件可以是html文件,jsp文件,文本文件,或者只是一段Java代码,但是你得注意在这个包含文件中不能使用,,,标记,因为这将会影响在原JSP文件中同样的标记 ,这样做有时会导致错误.
有一些<%@ include %>指命的行为是以特殊的JSP编译条件为基础,比如:
这个被包含的文件必须对所有客户都有开放且必须f有效,或者它有安全限制
如果这个包含文件被改变,包含此文件的JSP文件将被重新编译
属性:
file="relativeURL"
这个包含文件的路径名一般来说是指相对路径,不需要什么端口,协议,和域名,如下:
"error.jsp""/templates/onlinestore.html""/beans/calendar.jsp"
如果这个路径以"/"开头,那么这个路径主要是参照JSP应用的上下关系路径,如果路径是以文件名或目录名开头,那么这个路径就是正在使用的JSP文件的当前路径.
在的JSP 1.2,有page、include与taglib三种Directive Elements(指令元素 -- 使用<%@ 与 %>包括).现在主要介绍page的用法.
page元素常用属性:
info属性:用于设定目前JSP页面的基本信息,这个信息最后会转换为Servlet程序中使用getServletInf()所取得的信息.
contentType属性:用于设定MIME型态及网页编码方式,这个部份的设定是给浏览器判断该以什么样的方式显示网页文件,在Servlet中,这个部份是对应于HttpServletResponse对象的setContentType()方法.
import属性:则相当于Java语法中的import.
page元素还包括其他属性:
autoFlush:用于设定至客户端的输出串流是否要自动出清,预设是true,如果设定为false,而缓冲区满了,将会产生例外。
buffer属性:用于设定至客户端的输出串流缓冲区大小,预设是8KB。
errorPage:用于设定当JSP执行错误而产生例外时,该由哪一个页面处理这个例外。
extends属性:可以用来指定JSP网页转译为Servlet程序之后,该继承哪一个类别.
isErrorPage:用以设定JSP页面是否为处理例外的页面,这个属性要与errorPage配合使用.
session属性:可设定是否使用session对象,预设是true。
pageEncoding属性:用于指定JSP网页转为Servlet编译时采取的编码方式,如此在编译时才能正确的转换程序代码中设定的字符,预设是操作系统的语系设定。
isELIgnored:用以设定JSP网页中是否忽略Expression Language,预设是false,如果设定为true,则Expression Language被会被转译,Expression Language在JSP 2.0成为标准规格之一。
例子:
<%@page info="JSP指令元素示范"%>
<%@page contentType="text/html;charset=Big5"%>
<%@page import="javax.servlet.jsp.HttpJspPage,java.util.Date"%>

<%= ((HttpJspPage)page).getServletInfo() %>

现在时间: <%= (new Date()).toString() %>