• JSP自定义标签


    <-----温故而知新----->

    JSP生命周期

      JSP页面编译后生成字节码文件,先执行_jspInit()方法,然后有请求来时,多线程调用_jspService()方法

    JSP九大内置对象

      out、request、response、session、application、page、pageContext、exception、config

      out对象(常用方法):

      

       request对象(常用方法):

      

      

        表单提交时设置编码:request.setCharacteEncoding("UTF-8");

        URL传参时设置编码:增加tomcat中server.xml的属性URIEncoding="UTF-8"

      response对象(常用方法):

        response对象具有页面域,即访问一个页面时,该页面内的response对象只对此次访问有效,其他页面的response对象对当前页面无效

      

        使用PrintWriter和out区别:getWriter()生成的对象打印总是在out对象打印之前

      请求重定向与请求转发的区别:

        重定向:response.sendRedirect()  客户端行为,本质上是两次请求,地址栏URL改变

        转发: request.getRequestDispatcher("URL").forward(req , resp);  服务器请求,一次请求,地址栏URL不变

      session对象

      (超时时间)

        生命周期:创建、活动、销毁(调用session.invalidate()方法、session过期、重启)

      application对象:实现用户间数据共享,可存放全局变量。开始于服务器启动,终止于服务器关闭。在任何地方对application对象属性的操作,都将影响其他用户对此的访问

      

      page对象(常用方法):当前jsp页面本身,类似this指针

      

      pageContext对象(常用方法):

        pageContext对象提供对JSP页面内所有对象及名字空间的访问

        pageContext对象可访问到本页所在session,也可取本页面所在application的某一属性值

      

      Config对象(常用方法):是一个Servlet初始化时,JSP引擎向它传递包括Servlet初始化所用到参数(属性名和属性值)以及服务器的相关信息(ServletContext对象)

      

      Exception对象(常用方法):异常对象,JSP页面要使用此对象,需要设置isErrorPage=true

      

    include指令:

      <%@   include   file="URL"   %>

    include动作:

      <jsp:include   page="URL"   flush="false">

    <jsp:forward>  动作

      <jsp:forward   page="URL">  等同于 转发

    <jsp:param>    动作

      <jsp:param   name="参数名"   value="参数值">

    <jsp:plugin>  动作

      <jsp:plugin>

    <-----温故而知新----->

     ————————————————————————————————————————————————————————————————————————

     自定义标签

    1、简单的自定义标签

      ①、编写标签处理类,继承自TagSupport

      ②、定义标签库(tld)描述文件

        <tag>

          <name></name>

          <tag-class></tag-class>

          <body-content></body-content>

        </tag>

      ③、将标签库描述文件放在WEB-INF或其子目录下

      ④、在JSP页面中使用自定义标签

     2、控制是否执行标签体内容

      <body-content>empty</body-content>  //  空标签体

      <body-content>JSP</body-content>   //  允许出现JSP脚本

      <body-content>scriptless</body-content>  //  EL表达式和JSP动作

      <body-content>tagdependent</body-content>  //  自定义类解析

    3、自定义标签的属性

      

      ..................不想记录了...................

    4、BodyTag和BodyTagSupport类

    5、SimpleTag接口详解

      SimpleTag方法:

      doTag()方法  是核心方法,用于编写标签处理逻辑

      setParent(JspTag)方法  将父标签处理器对象传递给标签处理类

      getParent()  获取当前标签的父标签对象

      setJspContext(JspContext)方法  将JSP页面的pageContext对象传递给标签处理器对象

      setJspBody(JspFragment)方法  将代表当前标签体的JspFragment对象传递给标签处理器对象

      SimpleTagSupport方法(继承SimpleTag):

      getJspContext()方法  返回代表当前页面的JspContext

      getJspBody()方法  返回代表当前页面的JspBody

    6、总结

      JSP  继承          <body-content>

      1.0    TagSupport       empty、JSP、scriptless、tagdependent

      2.0    SimpleTagSupport    scriptless

  • 相关阅读:
    我对什么是真正的对象,以及软件中的对象在分析阶段、设计阶段、实现阶段的一些看法
    通过分析蜘蛛侠论坛中的版块管理功能来介绍该如何使用我开发出来的ROM框架
    蜘蛛侠论坛核心框架分析1 如何设计与实现当前访问用户
    关于DDD领域驱动设计的理论知识收集汇总
    分享一个简易的ORM框架源代码以及基于该框架开发的一个简易论坛源代码
    微软的一个开源项目Oxite学习后的感受
    AgileEAS.NET平台开发实例药店系统UI层分析
    AgileEAS.NET平台开发实例药店系统BLL层分析
    AgileEAS.NET平台开发实例药店系统DAL层解析
    AgileEAS.NET平台开发实例药店系统系统架构设计
  • 原文地址:https://www.cnblogs.com/ytlds/p/8213600.html
Copyright © 2020-2023  润新知