zoukankan      html  css  js  c++  java
  • JSP中的内置标记(JSP动作)和 EL表达式

    一、JSP的内置标记(JSP动作)

    (一)JSP的内置标记都是以<jsp: 开始标记的

    一般会用到<jsp:useBean/>,<jsp:setProperty/>,<jsp:getProperty/>,这三种是配合使用的

    示例图:

    显示效果:

    再示例一个include :

    静态包含:<%@include%>

    动态包含:<jsp:include/>

    先定义一个要被包含的文件main.jsp:

    显示效果如下:

    <jsp:forward/>:跳转——是服务端跳转——请求转发

    图画的有点丑,将就将就

     二、EL表达式

    EL——Expreession Language :表达式语言,来自于ognl,ognl是一个开源项目。

    简要的意思就是使用一系列的符号来描述一个表达式

    示例图:

    注释掉path的定义,你会看到下面会报错,由于在JSP中使用了没有定义变量的path,所以会报一个500的内部错误。

    如果使用:${ 表达式 },会有什么变化呢,继续看下面

     

     

     

     

    显示结果:

     

    使用了 ${ 表达式 } :

    使用EL表达式的前提是JSP页面的page指令的isELIgnored为false时使用,默认false。如果是使用true,编译器会把${path}原样显示,这里就不截图了,自己试试吧

    对了EL表达式不是从页面获取值,而是从几个范围获取,继续看下面。

    显示结果:

     

     (一)、${ 表达式 } 就称为EL表达式

      1.EL表达式是以 “ ${  ”开始 “ } ”结束,其中就是表达式。

      2.主要的作用:用于获取内置范围对象的值。

      3.EL表达式取值的原理:

        首先从最小的范围去取值,如果没有就到更大的范围I去找值,如果还是没有,一直到applicatiion范围去找值,如果还是没有,不会报错,返回空白(什么都没有),如果是查null值,也返回空白。

      4.EL表达式中表示范围对象是

        JSP内置对象:application、session、request、pageContext。

        EL表达式中范围对象:applicationScope。sessionScope、requestScope、pageScope。

    EL表达式中表示范围对象示例:

    显示结果:

     (二)、EL表达式访问符号:

    有两种:

    1、使用 " . "  例如:${applicationScope.path}

    2、使用” [  ] “ 符号   例如:${applicationScope[ " path " ] },注意中括弧里面是要用引号引起来

    (三)、EL表达式中的运算符

    1.算术运算符

    +     :例如:${6+6} 。注意:在EL表达式中的‘+’只有数学运算的功能,没有连接符的功能,它会试着把运算符两边的操作数转换为数值类型,进而进行数学加法运算,最后把结果输出。若出现${'a'+'b'}则会出现异常。

    -      :例如:${4-3} 

    *      :例如:${4*3} 

    /      : 例如:${9/3}

    2.EL关系运算符

    关系运算符         说明                   范例                       结果

    ==或eq               等于    ${5==5}或${5eq5}      true

    !=或ne    不等于    ${5!=5}或${5ne5}      false

    <或lt     小于     ${3<5}或${3lt5}       true

    >或gt    大于      ${3>5}或{3gt5}        false

    <=或le   小于等于     ${3<=5}或${3le5}       true

    >=或ge    大于等于   ${3>=5}或${3ge5}      false

    *  表达式语言不仅可在数字与数字之间比较,还可在字符与字符之间比较,字符串的比较是根据其对应UNICODE值来比较大小的。

    注意:在使用EL 关系运算符时,不能够写成:
    ${param.password1} = = ${param.password2}
    或者
    ${ ${param.password1 } = = ${ param.password2 } }
    而应写成
    ${ param.password1 = = param.password2 }

    3.逻辑运算符

    4.Empty运算符

    Empty运算符主要用来判断值是否为空(NULL,空字符串,空集合)。

    5.条件运算符

    ${ A ? B : C}

  • 相关阅读:
    P4782 【模板】2-SAT 问题 && 2-SAT问题
    C#连接MySql数据库
    C# 不同类型数组之间的转换
    C#之一维数组,冒泡排序,输入输出案例
    C++之结构体的另类使用
    visual c++ 中的stdafx.h头文件的作用
    C#Windows窗体组成基本思路和控件使用
    C++内存管理
    C++之线程信号量机制
    C#读取文件内容,包括ArrayList使用和类型转换
  • 原文地址:https://www.cnblogs.com/xss512/p/10652583.html
Copyright © 2011-2022 走看看