EL+JSTL

Posted jiayiblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EL+JSTL相关的知识,希望对你有一定的参考价值。

EL
1.EL(Expression Language)
JSP脚本代码:结构混乱,脚本与html混合,容易出错代码不易于维护。
为了解决这些问题推出了EL表达式.使用EL表达式来优化程序代码,增加程序可读性。
2.EL表达式的作用:
1.获取域中数据(重点)
2.执行运算(重点)
3.获取web常用对象(重点)
4.调用java方法(了解)

例:
取得JavaBean对象的属性
$news.title
取得数组、List、Map类型对象的元素
$list[0]
使用各类运算符对原始数据进行简单处理
$totalRecordCount/pageSize
屏蔽一些常见的异常
$username
能实现简单的自动类型转换
$ news相当于(News)request.getAttribute("news")


3.语法:
EL表达式(Expression Language)
$EL 表达式 例如:$username
EL操作符
操作符“.”
获取对象的属性,例如:$news.title
操作符“[]”
获取对象的属性,例如:$news["title"]
获取集合中的对象,例如:$newsList[0]

EL严格区分大小写,初学者严格按规范书写,有利于养成好的编码习惯

4.El表达式获取域中数据(访问作用域)
使用jsp中使用小脚本获取servlet传送过来数据内容
  <%=request.getAttribute("rname")%>
  <%=pageContext.getAttribute("pname")%>
  <%=session.getAttribute("sname")%>
  <%=application.getAttribute("aname")%>
使用El表达式接受Servlet传送过来数据内容
  $requestScope.rname 等同于$rname //请求作用域
  $pageScope.pname //页面作用域
  $seesionScope.sname //会话作用域
  $applicationScope.aname //程序作用域


通过request的.getSession()方法.setAttribute()方法设置session的内容

5.EL四个域对象及生命周期
request 域范围是整个请求链
application 域范围是整个应用
session:域范围是整个会话
pageContext:域范围是一个jsp页面

6.EL运算符
( )                  改变执行的优先级,   例如$3*(4+5)
+,-,*,/,%              算术运算符,                例如$3+2
==,!=,>,>=,<,<= 关系运算符,              例如$a==b或$a eq b
&&,||,!                 逻辑运算符,             例如$true&&false
?:                        条件运算符,             例如$a>b?1:2
empty 用于检测变量名是否为空,是否等于NULL,例如$empty name

empty有两个作用 1.判断是否为null 2.判断容器是否为null或者长度是否为0

EL在做多个对象运算时,要全写在一个内
$ param.password1 == param.password2 √
$param.password1 == $param.password2 ×
$ $param.password1 == $ param.password2 ×



JSTL
1.JSTL(Java Page Standard Tag Library),JSP标准标签库。
该库包含了一系列开发JSP时用到的一系列标准标签。

Jstl标签库一共包含了四大标签库
core:核心标签库,重点
fmt:格式化标签库,两个主要标签
sql:数据库标签库,已过时
xml:xml标签库,已过时

以上是关于EL+JSTL的主要内容,如果未能解决你的问题,请参考以下文章

JSTL不同版本和EL表达式的关联

EL与JSTL学习——JSTL技术

JSP中的JSTL与EL表达式用法及区别

EL&JSTL

servlet-el-jstl

EL 和 JSTL