JSP指令元素

 

JSP的运行机制:
JSP容器管理JSP页面生命周期的两个阶段:转换阶段和执行阶段。当有一个对JSP页面的客户请求到来时,JSP容器检验JSP页面的语法是否正确,将JSP页面转换为Servlet源文件,然后调用javac工具类编译Servlet源文件生成字节码文件,这一阶段是转换阶段。接下来,Servlet容器加载转换后的Servlet类,实例化一个对象处理客户端的请求,在请求处理完成后,相应对象被JSP容器接收,容器将HTML格式的响应信息发送到客户端,这一阶段是执行阶段。
一个JSP页面由元素和模板数据组成。元素是必须由JSP容器处理的部分,而模板是JSP容器不处理的部分,例如,JSP页面中的HTML内容会直接发送到客户端。在JSP2.0规范中,元素有三种类型:指令元素,脚本元素,动作元素。

1 JSP的指令元素:
指令元素主要用于为转换阶段提供整个JSP页面的相关信息,指令不会产生任何的输出到当前的输出流中。
1.1 page指令:<%@ page attr1="value1" attr2="value2">
page指令有13个属性.
language="java" 指定在脚本元素中使用的脚本语言,默认是Java
extends="className" 指定JSP页面转换后的Servlet类从哪个类继承,属性值是完整的限定类名。通常不需要使用这个属性,JSP容器会提供转换后的Servlet类的父类。
import="importList" 指定在脚本环境中可以使用的Java类。
session="true|false" 指定在JSP页面中是否可以使用session对象,默认值是session
buffer="none|sizekb" 指定out对象使用的缓冲区大小,如果设置为none,将不使用缓冲区,所有的输出直接通过ServletResponse的PrintWrite对象写出。设置该值只能以KB为单位,默认值是8kb
autoFlush="true|false" 指定当缓冲区满的时候,缓存的输出是否应该自动刷新。默认值是true
isThreadSafe="true|false" 指定对JSP页面的访问是否是线程安全的。默认是true
info="info_text" 指定页面相关信息,可以通过调用Servlet接口的getServletInfo()方法来得到。
errorPage="error_url" 指定当JSP页面发生异常时,将转向哪个错误处理页面。要注意的是:如果一个页面通过使用该属性定义了错误页面,那么在web.xml中定义的任何错误将不会被使用。
isErrorPage="true|fasle" 指定当前的JSP页面是否是另一个JSP页面的错误处理页面。默认是false
contentType="ctinfo" 指定相应的JSP页面的MIME类型和字符编码.例如:<%@ page contentType="text/html; charset="gb2312" %>
pageEncoding="peinfo" 指定JSP页面的字符编码,如果没有设置这个属性,则JSP页面使用contentType指定的字符集,如果都没有指定,则使用ISO-8859-1
isELIgnored="true|false" 定义在JSP页面中是否忽略执行EL表达式,默认值是false,不忽略,即执行.

1.2 include指令
include指定用户在JSP页面静态包含一个文件<%@ include file="date.jsp" %>

1.3 taglib指令
taglib指令允许页面使用用户定制的标签<%@ taglib uri="tagLibraryURI" prefix="tagPrefix" %>

2 JSP脚本元素
脚本元素包括三个部分:声明,脚本段和表达式。JSP2.0增加了EL表达式(简化对变量和对象的访问),作为脚本元素的另一个选择。声明脚本元素用于声明在其他脚本元素中可以使用的变量和方法,脚本段是一段Java代码,用于描述对请求的处理中要执行的动作,表达式脚本元素是Java语言中完成的表达式,在响应请求时被计算,计算的结果将被转换为字符串,插入到输出流中。
这三种脚本元素都是基于<%的语法,如下所示:
<%! this is a declaration %>
<% this is a scriptlet%>
<%=this is an expression%>

3 JSP动作元素
<jsp:useBean><jsp:setProperty><jsp:getProperty>在《在JSP中使用JavaBean》日志中介绍了
<jsp:param>:它和<jsp:include>,<jsp:forward>,<jsp:plugin>一起使用.语法为<jsp:param name="name" value="value"/>
<jsp:include>:语法为<jsp:include page="urlSpec" flush="true|false"/>
<jsp:forward>:语法为<jsp:forward page="relativeURLspec"/>
<jsp:plugin>:google自己研究,不介绍

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值