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" %>
pageEnco
相关文档:
一 。自定义JSP标签的处理过程:
1.在JSP中引入标签库:
2.在JSP中使用标签库标签
3.Web容器根据第二个步骤中的prefix,获得第一个步骤中声明的taglib的uri属性值
4.Web容器根据uri属性在web.xml找到对应的元素
5.从元素中获得对应的元素的值
6.Web容 ......
member.jsp //session限制访问页
<%
String url = ""
if(session.getAttribute("username")==null)
{
url = myRedirect.dealurl(request);//记录当前地址和请求参数,dealurl将实际url处理了避免和要请求url有干扰,因为会有& 字符
......
http://www.soft6.com/tech/16/160477.html
实现tag的类(标签处理器)(tag handler)
1,是一些在引用了标签的JSP页面执行期间被Web Container调用以求自定义标签值的对象;
2,必须实现Tag, SimpleTag和BodyTag之一
3,可以继承TagSupport和BodyTagSupport之一
标签库的接口和类的继承关系接口的继承关系:  ......
一个项目中会在多个JSP界面中使用下拉框,日期控件,分页控件。若能将此类控件抽象出来,做成一个JspTag的话,那使用起来就方便多了。同时便于JSP的阅读,更主要的是方便了项目的管理与维护。
下面以行业下拉框控件为例介绍自定义JspTag,尤其注意红色标注处,从对应关系可以找到运用规律:
首先建立/WEB-INF/tags/my-t ......
JSTL的目标是为了简化JSP页面而设计。对于页面设计人员来说,使用脚本语言(JSP默认是Java)操作动态数据是比较困难的,而采用标签和表达式语言则相对容易些,JSTL的使用为页面设计人员和程序开发人员的分工协作提供了便利。
JSTL虽然叫做标准标签库,但实际上是由5个不同功能的标签库组成。这里只介绍常用的Core标签库
Cor ......