EL表达式和JSTL表达式

EL表达式是Expression Language(表达式语言)可以替代JSP页面中数据访问时的复杂编码可以自动转换类型,并且使JSP的开发变得更加简单。

语法:${变量名}

// 在Servlet或JSP中保存数据

request.setAttribute("username", "LiYang");

// 在JSP中访问数据

姓名: ${username}

按照page → request → session → application的作用域顺序依次查找,找到即返回,最终找不到返回null。

点操作符———> ${user.name}

[ ]操作符———>${user["name"]}

Empty操作符

Empty操作符是一个前缀操作符,用于检测一个变量值是否为null或者为empty

例如:变量a不存在,则${empty a}返回的结果为true,${not empty a}返回的结果是false.

 

EL隐式对象介绍

JSTL是JSP标准标签库(JSP Standard Tag Library),提供一组标准标签,可用于编写各种动态功能.JSTL通常会与EL表达式合作实现JSP页面的编码.

JSTL常用标签有:set  out remove  if choose  forEach

set:设置指定范围内的变量值

  1将value值存储到范围为scope的变量variable中

 var="variable" value="value"  scope="scope"/>

var属性值是设置的变量名

value属性的值是富裕变量的值

scope属性对应的是变量的作用域

2将value值设置到对象的属性中

target="target" property="property"  value="value"/>

—target属性是操作的JavaBean对象,可以用EL表达式来表示

—proprety属性对应JavaBean对象的属性名

—value属性是赋予JavaBean对象属性的值

out:计算表达式并将结果输出显示,类似于JSP中<%= %>,但功能更强大,代码更简洁

1不指定默认值

value属性指需要输出的表达式的结果,可以通过EL表达式获取。

2指定默认值

default属性是value属性的值为空时输出的默认值

remove删除指定范围内的变量

var属性是指待移除的变量名称

scope属性是指移除的变量所在的范围。

if实现Java语言中if语句的功能

 

 

test属性是判断条件,当condition(可用EL表达式)的结果为true时,会执行主体内容,如果为false则不会执行。

var属性定义变量,该变量存放判断的结果,该属性可省略

scope属性是指var定义变量的存储范围。

 

choose:实现if - else if - else语句的功能

 

 

 

 内容1

  

 

 内容2

  

 ……

 

 内容n

 

 

 

是作为的父标签使用的,除了空白字符外,的标签体只能包含这两个标签

标签必须有一个直接父标签而且必须在同一个父标签下的标签之前出现,在同一个标签中,可有多个标签

标签必须有一个直接的父标签,而且必须是标签中最后一个嵌套的标签

—在运行时,判断标签的测试条件是否为true,如果为true,那么标签体被JSP容器执行。如果为false,那么标签体将被执行。

forEach:实现对集合对象的遍历

"collection"     var="varName"     begin="start"   end="end"   step="stepSize"    varStatus="status"  >

循环体代码

var表示对当前成员的引用,即如果当前循环到第一个成员var就引用第一个成员,如果当前循环到第二个成员,他就引用第二个成员,以此类推。

varStatus属性用于存放var引用的成员相关信息,如索引等。

begin属性表示开始位置默认为0,该属性可省略

end属性表示结束位置,该属性可省略

step属性表示循环的步长,默认为1,该属性可省略

items指被迭代的对象


你可能感兴趣的:(EL表达式和JSTL表达式)