JSP学习之jsp指令

page:例:<%@ page contentType="text/html;charser="UTF-8"%>,如果一个指令有多个属性,可以分开写也可以写在一个指令中


page指令
 在JSP文件中,可以通过<%@ page %>命令定义整个JSP页面的属性,通过这个命令定义的属性会对该JSP文件和包含进来的JSP页面起作用。此命令的语法比较复杂一些,下面就是语法定义:
 
<%@ page 


[ language="java" ]   --语言


[ extends="package.class" ]  --扩展、延伸


[ import="{package.class | package.*}, ..." ]   导入多个包时可用","分割


[ session="true | false" ]    //在翻译成Servlet时是否创建session,为true则可以在jsp中直接使用


[ buffer="none | 8kb | sizekb" ]   //是否使用缓存,使用缓存时,当写入的数据先写入到缓存,然后再一次性写给浏览器,默认缓存为8kb


[ autoFlush="true | false" ]   //缓存满后是否自动刷新


[ isThreadSafe="true | false" ]   //设置为false时,翻译成servlet时会实现SingleThreadModel接口,即线程是安全的,当一个servlet没有完成上一个用户请求时会创建一个新的servlet
info="text"


[ info="text" ] 


[ errorPage="relativeURL" ]   //属性的设置值必须使用相对路径,如果以"/"开头表示当前web应用程序的根目录,也可以在web.xml中使用全局配置



[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ] 


[ isErrorPage="true | false" ] 
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>


%> 


下面是使用Page命令的几个小例子:
 
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" buffer="5kb" autoFlush="false" errorPage=" error.jsp " %>
 
通过Page命令,你可以为整个JSP页面定义上面提到的全局属性,其中除了“import”之外,其他的都只能引用一次,import属性和Java语言中的import非常相似,可以在JSP页面中多次使用它。
 
关于<%@ page %>的位置可以不去考虑,放在任何地方都可以很好的工作,但出于良好的编程习惯,建议放在JSP页面的顶部。几乎所有的JSP页面顶部都可以找到指令page。
 
1.language属性
 
定义JSP页面使用的脚本语言,若使用JSP引擎支持Java以外的语言,可指定所使用的语言种类。默认语言为Java
 
language=”java”
 
指明JSP文件中使用的脚本语言,目前只能使用Java。
 
2.contentType属性
 
contentType属性定义了JSP页面字符编码和页面响应的MIME类型。默认的MIME类型是text/html,默认的字符集是ISO-8859-1。例如:
 
<%@ page  contentType="text/html; charset=gb2312"  language="java"  import="java.sql.*" %>
 
3.import属性
 
该属性用于JSP引入Java包中的类,如果你要包含多个包的话,将这些包的名称用逗号隔开放在一个import中,或者使用多个import分别声明。它是唯一可以多次指定的属性。
 
在使用Java包中的元素之前一定要先声明该包的import引用。下面一些Java包,是默认包含的,不用再在JSP页面中声明。
 
java.lang.*
 
javax.servlet.*
 
javax.servlet.jsp.*
 
javax.servlet.http.*
 
4.extends属性
 
定义此JSP页面产生的Servlet是继承自哪个父类。请特别谨慎使用这一功能,因为,服务器也许已经定义了一个。JSP规范对不完全理解其隐意的情况下使用此属性提出警告。 


5.isErrorPage属性
 
isErrorPage="true|false"
 
默认值为“true”,设置是否显示错误信息。如果为true,可以看到出错信息,如果为false,就看不到了。
 
6.errorPage属性
 
errorPage="relativeURL"
 
设置处理异常事件的JSP文件的位置。表示如果发生异常错误,网页会被重新指向一个URL页面。错误页面必须在其page指令元素中指定isErrorPage="true"。
 
7.session属性
 
session="true|false"
 
默认值为“true”,定义是否在JSP页面使用HTTP的session。如果值为true,则可以使用session对象;如果值为false,那么JSP页面就不被加入到session中,session内置对象则不能使用,而同时会造成Bean的scope属性值只能是“page”。
 
8.Buffer属性
 
buffer="none|8kb|sizekb"
 
为内置对象out指定发送信息到客户端浏览器的信息缓存大小。以kb为单位。默认值是8kb.你也可以自行指定缓存的大小。也可以设置为“none”,那么就没有缓冲区,所有的输出都不经缓存而直接输出。
 
9.autoFlush属性
 
autoFlush="true|false"
 
指定是否当缓存填满时自动刷新,输出缓存中的内容。如果为true,则自动刷新。否则,当缓存填满后,可能会出现严重的错误。当你把buffer设置为none时,就不能将autoFlush设置为false。
 
10.isThreadSafe属性
 
isThreadSafe="true|false"
 
指定JSP页面是否支持多线程访问。默认值是ture,表示可以同时处理多个客户请求,但是你应该在JSP页面中添加处理多线程的同步控制代码。如果设置为false,JSP页面在一个时刻就只能响应一个请求。
 
11.info属性
 
info="text"
 
指定任何一段字符串,该字符串被直接加入到翻译好的页面中。可以通过Servlet.getServletInfo()方法得到。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章