• 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

  • 相关阅读:
    K8s PV and PVC and StorageClass
    WebSphere--WAS概念和原理解析
    K8S配置多集群访问
    ROS2学习日志:CV开发之关联Gazebo/Webots/ROS2
    CV学习日志:Orbslam使用总结
    CV学习日志:Basalt使用总结
    CV学习日志:Kalibr使用总结
    CV学习日志:CamOdoCalib使用总结
    CV学习日志:OpenVINS使用总结
    CV学习日志:搭建U2004开发环境
  • 原文地址:https://www.cnblogs.com/ytlds/p/8213600.html
Copyright © 2020-2023  润新知