EL和JSTL

EL和JSTL,第1张

EL和JSTL

EL和JSTLEL什么是ELEL的用法EL的数据获取顺序 JSTL什么是JSTLJSTL的基本使用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标签
我们使用可以进行判断,为真时才执行代码。判断条件写在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>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1296684.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存