EL和JSTL

EL和JSTL

EL

什么是EL

  • EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化。
  • EL 表达式主要是代替 jsp 页面的表达式脚本,相对于jsp来说更加的简洁

EL的用法

  • EL表达式的格式:用美元符号($)定界,内容包括在花括号({})中;
例如: 
点号记法:${BeanName.beanProperty}
数组记法:${BeanName[“beanProperty”]}

k e y , E L 主 要 是 用 来 取 数 据 的 , {key},EL主要是用来取数据的, keyEL{ }就相当于jsp中的<%= %>,但是EL表达式可以自动的从域对象中取数据。
** EL中的常见内置对象:**

  • pageScope:获取PageContext中的数据
  • requestScope:获取Request的数据
  • sessionSocpe:获取Session的数据
  • applicationScope:获取ServletContext中的数据

EL常用的隐式对象:
在这里插入图片描述

EL的数据获取顺序

我们使用${key}时,如果没有指定从哪个域中获取数据,那么el就会有一个默认顺序。

pageScope > requestScope > sessionScope > applicationScope

JSTL

什么是JSTL

JSTL(Java server pages standarded tag library,即JSP标准标签库)是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。

JSTL相当于替换了JSP中的<% %>,使得jsp的代码更加简洁

JSTL的基本使用

3C标签的使用:

<%--1.往request域中存放名称为uname值为admin的数据--%>
<c:set scope="request" var="uname" value="admin"></c:set>
<%--2. 获取数据--%>
<c:out value="${uname}"></c:out>
${uname}

# 3 删除数据
<c:remove var="uname" scope="request"></c:remove>
# 4. 判断
<c:set scope="page" var="uname" value="wy"></c:set>
<c:if test="${pageScope.name eq 'wy'}">
<h1>是wy</h1>
</c:if>
# 多重判断
<c:set scope="request" var="age" value="20"></c:set>
<c:choose>
<c:when test="${age<18}">未成年</c:when>
<c:when test="${age>=18 and age<=30}">青年</c:when>
<c:when test="${age>30 and age<=50}">中年</c:when>
<c:otherwise>老年</c:otherwise>
</c:choose>

<--!>
  items 索引对象
  var 当前遍历到的内容存储到va
  varStatus 当前索引值

</--!>  
<c:forEach items=""  var="" varStatus="index">
    
</c:forEach>

JSTL的常用标签

  • if标签
    我们使用<c:if ></c:if>可以进行判断,为真时才执行代码。判断条件写在test里面。

  • forEach标签
    使用这个标签可以进行循环,主要有2种形式,下面给出第一种形式,这种就相当于java中的for(int i = 0; i < len; i++)。

<head>
     <title>for</title>
 </head>
 <body>
 <c:forEach  begin="1" end ="10" ver ="i" step="1">
   <p>我是第${i}次执行</p>
 </c:forEach>
 </body>

第二种就是数组或者对象形式的,相当于java中的for(name:对象).

定义得数组
<%
    String[] names = {"tom","jack","lucy","smith"};
    pageContext.setAttribute("names",names);
%>
<%--</c:forEach>--%>
<c:forEach items="${name}" var ="name">
  <p>我的名字是${name}</p>
</c:forEach>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值