• jsp基础-指令,内置对象,动作,EL表达式,JSTL技术


    一、指令
      1、page指令
        1):语法:<%@ page 属性名1=属性值1 属性名2=属性值2%>
        2):Page指令用来定义jsp文件的全局属性
        3):只有impot属性可以出现多次,其他的属性只能出现一次

        4):常用属性:
          language属性:声明使用脚本的语言。
          extends属性:表明jsp编译成servlet的时候继承的类。默认值:HttpJspBase
          session属性:表明jsp中时候可以直接使用session对象
          errorPage属性:当当前页面出错后跳转到哪个页面
          isErrorPage属性:当前页面是一个处理错误的页面
          import属性:导包
          isElgnored属性:通知jsp是否忽略El表达式
      2、include指令
       1):语法<%@ include 属性名=属性值% >
       2):作用:在jsp页面静态包含一个文件,同时又jsp解析包含的文件内容
       3:):常用属性:
          file属性:指示jsp包含属性的路径
      3、Taglib指令
       1):语法<%@ taglib 属性名=属性值%>
       2):用于在jsp页面引入标签库
       3:):常用属性
          uri属性:引入标签库的路径
          prefix属性:引入标签库的别名
    二、内置对象
      定义:可以直接在jsp页面使用的对象。(九大内置对象)
        1、out:输出对象 out.write(object o);
        2、request:客户端发送的请求对象
        3、response:服务器发送的相应对象
        4、config:服务器的全局配置对象
        5、application:服务器的全局域对象
        6、session:服务器对应客户端的session对象
        7、page:当前jsp被翻译为的servlet对象
        8、pageContext:当前jsp的上下文对象
        9、exception:本jsp运行时产生异常的对象
        注意:exception只有在声明 isErrorPage="true" 后才生成

      pageContext对象:页面的上下文对象
        作用一:提供page范围的数据存取的方法(域对象)
          1):存入数据:setAttribute(String str,Object val,[int i]):第一个参数为key ,第二个参数为value,第三个参数为需要调用其他的域对象所对应的 int 值(可以不写)
          2):获取数据:getAttribute(String str,[int i]):第一个参数为key ,第二个参数为需要调用其他的域对象所对应的 int 值(可以不写)
          3):移除数据:removeAttribute(String str,[int i]):第一个参数为key ,第二个参数为需要调用其他的域对象所对应的 int 值(可以不写)
          4:):获取数据:findAttribute(String str,[int i]):第一个参数为key ,第二个参数为需要调用其他的域对象所对应的 int 值(可以不写),依次从 pageContext,request,session,application 域中查找,找到后即刻返回

        作用二:通过这个对象可以获取其他的八大内置对象
          pageContex.get****():获取其他八大内置对象
    三、jsp标签(动作)
      1、页面包含(动态包含):<jsp:include page="被包含的页面"/>
      2、请求转发:<jsp:forward page="要转发的资源" />

      注意:静态包含与动态包含的区别?
        静态包含:编译为一个java文件
        动态包含:便以为多个java文件

    四、EL表达式:
      1、概述:EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中脚本的编写。
      2、语法 ${EL表达式}
      3、EL获取pageContext域中的值:${}pageScope.key}
         EL获取reqest域中的值:${requestScope.key}
         EL获取session域中的值:${sessionScope.key}
           EL获取application域中的值:${applicationScope.key}
         EL获取四个域中的某个值${key}依次从 pageContext,request,session,application中查找

      4、通过pageContext获取其他8大内置对象
        ${pagetContext.8大内置对象}
      5、EL执行表达式
        ${num1+num2}:可以是当前页面的变量,也可以是从域中获取的字符串,不需要转int类型
        ${empty user}:判断是不是为空 ${!empty user} 或 ${not empty user} 判断不为空
        ${三元表达式}
    五、JSTL技术
      1、实现过程:
        1)下载工具类并导入项目
        2)导包:<%@ taglib uri="标签库地址" prefix="前缀"%>
        3)调用:<c:if test="${EL表达式}">成立后需要显示的内容</c:if>
      2、if表达式
        <c:if test="${EL表达式(判断条件)}"></c:if>
      3、forEach表达式
        <c:forEach items="${从域中获取需要遍历的容器 }" var="遍历后对应的每一项" >
          ${pro.name }
        </c:forEach>
      常用属性:varStatus 表示 比表示循环的状态 对应的属性有 count :第几次循环,index:循环的索引

  • 相关阅读:
    htmlspecialchar()
    LINUX权限bash: ./startup.sh: Permission denied
    str_replace()
    centos安装教程
    给准备做软件测试的新手们的一点个人心得
    TFS安装与管理
    TFS使用指南
    实现对n个数字随机排序,并循环输出100次
    SSM启动Tomcat报错ERROR [localhoststartStop1] Context initialization failed
    同济大学软件学院万院长谈择业
  • 原文地址:https://www.cnblogs.com/yanghaoyu0624/p/11829316.html
Copyright © 2020-2023  润新知