l
l JSP的指令:
l
l
l JSP指令的基本语法格式:
<%@ 指令属性名="值" %>
举例:<%@ pagecontentType="text/html;charset=gb2312"%>
l page指令用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯,page指令最好是放在整个JSP页面的起始位置。
l JSP 2.0规范中定义的page指令的完整语法:
<%@page
[ language="java" ]
[ extends="package.class"]
[ import="{package.class | package.*}, ..." ]
[ session="true| false" ]
[ buffer="none | 8kb | sizekb" ]
[ autoFlush="true | false" ]
[ isThreadSafe="true | false" ]
[ info="text" ]
[ errorPage="relative_url"]
[ isErrorPage="true| false" ]
[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ]
[ pageEncoding="characterSet | ISO-8859-1"]
[ isELIgnored="true| false" ]
%>
l 可以在一条page指令的import属性中引入多个类或包,其中的每个包或类之间使用逗号分隔:
<%@ pageimport="java.util.Date,java.sql.*,java.io.*"%>
l 上面的语句也可以改写为使用多条page指令的import属性来分别引入各个包或类:
<%@ pageimport="java.util.Date"%>
<%@ pageimport="java.sql.*"%>
<%@ pageimport="java.io.*"%>
l errorPage属性的设置值必须使用相对路径,如果以“/”开头,表示相对于当前WEB应用程序的根目录(注意不是站点根目录),否则,表示相对于当前页面。
l 可以在web.xml文件中使用<error-page>元素为整个WEB应用程序设置错误处理页面,其中的<exception-type>子元素指定异常类的完全限定名,<location>元素指定以“/”开头的错误处理页面的路径。
l 如果设置了某个JSP页面的errorPage属性,那么在web.xml文件中设置的错误处理将不对该页面起作用。
l JSP引擎会根据page指令的contentType属性生成相应的调用ServletResponse.setContentType方法的语句。
l page指令的contentType属性还具有说明JSP源文件的字符编码的作用。
l include指令
l include指令用于引入其它JSP页面,如果使用include指令引入了其它JSP页面,那么JSP引擎将把这两个JSP翻译成一个servlet。所以include指令引入通常也称之为静态引入。
l 语法:
<%@ includefile="relativeURL"%>
其中的file属性用于指定被引入文件的路径。路径以“/”开头,表示代表当前web应用
l 细节:
ü 被引入的文件必须遵循JSP语法。
ü 被引入的文件可以使用任意的扩展名,即使其扩展名是html,JSP引擎也会按照处理jsp页面的方式处理它里面的内容,为了见明知意,JSP规范建议使用.jspf(JSP fragments)作为静态引入文件的扩展名。
ü 由于使用include指令将会涉及到2个JSP页面,并会把2个JSP翻译成一个servlet,所以这2个JSP页面的指令不能冲突(除了pageEncoding和导包除外)。
l Tip:JSP九大隐式对象
l request
l response
l config
l application
l exception
l Session
l page
l out
l pageContext