JSP中的内置标记(JSP动作)和 EL表达式

Posted 小小酥512

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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}

以上是关于JSP中的内置标记(JSP动作)和 EL表达式的主要内容,如果未能解决你的问题,请参考以下文章

JAVAWEB开发之Session的追踪创建和销毁JSP详解(指令,标签,内置对象,动作即转发和包含)JavaBean及内省技术以及EL表达式获取内容的使用

JAVAWEB开发之Session的追踪创建和销毁JSP具体解释(指令,标签,内置对象,动作即转发和包括)JavaBean及内省技术以及EL表达式获取内容的使用

jsp内置对象和el表达式内置对象误区

day12(jsp指令&内置对象&动作标签JavaBeanEL表达式&函数库)

JSP编程专题2之JSP核心二(EL表达式,EL运算符以及除了和四个域属性空间相关的EL内置对象)

JSP中的EL隐式对象