JavaWeb技术之EL表达式&JSTL类库

一、EL表达式

1.什么是EL表达式及其作用

EL 表达式的全称是:Expression Language。是表达式语言。

作用:EL表达式主要是代替jsp页面中的表达式脚本在jsp页面中进行数据的输出

2.EL表达式搜索域数据的顺序

EL 表达式主要是在 jsp 页面中输出数据。 主要是输出域对象中的数据。当四个域中都有相同的key的数据的时候,EL 表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。

<body> 
    <% 
    //往四个域中都保存了相同的 key 的数据。 
    request.setAttribute("key", "request");
    session.setAttribute("key", "session");
    application.setAttribute("key", "application");
    pageContext.setAttribute("key", "pageContext"); 
    %>
    ${ key } 
</body>

3.EL表达式输出Bean的普通属性,数组属性。List集合属性,map集合属性

输出Person:${ p }<br/>
输出Person的name属性:${p.name} <br>
输出Person的pnones数组属性值:${p.phones[2]} <br>
输出Person的cities集合中的元素值:${p.cities} <br>
输出Person的List集合中个别元素值:${p.cities[2]} <br>
输出Person的Map集合: ${p.map} <br>
输出Person的Map集合中某个key的值: ${p.map.key3} <br>
输出Person的age属性:${p.age} <br>

4.EL表达式——运算

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-85u26QnR-1629027501155)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210803150846138.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JWd3SaWa-1629027501156)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210803150900125.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-49m0mWpl-1629027501157)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210803151001970.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZMeV61pc-1629027501160)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210812154131063.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YjXqwR0i-1629027501162)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210812154143137.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X4Biy6Bg-1629027501163)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210812154150575.png)]

5.EL表达式的11个隐含对象

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bcvxCtWO-1629027501164)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210812154415226.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iEG8b5pP-1629027501164)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210812154425785.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YGnH3YIB-1629027501165)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210812154438739.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jryqoXD7-1629027501166)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210812154447649.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fgnu8GZu-1629027501166)(C:\Users\hp\AppData\Roaming\Typora\typora-user-images\image-20210812154459377.png)]

二、JSTL标签库(*)

JSTL 标签库 全称是指 JSP Standard Tag Library JSP 标准标签库。是一个不断完善的开放源代码的 JSP 标签库。

EL 表达式主要是为了替换 jsp 中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个 jsp 页面变得更佳简洁。

1. JSTL标签库的使用步骤

  1. 先导入 jstl 标签库的 jar 包。

    taglibs-standard-impl-1.2.1.jar

    taglibs-standard-spec-1.2.1.jar

  2. 第二步,使用 taglib 指令引入标签库。

    <%@ taglib prefix**=“curi="**http://java.sun.com/jsp/jstl/core" %>

2.core核心库使用

  1. <c:if />

    <c:if test="${ 12 == 12 }"> <h1>12 等于 12</h1> </c:if>
    
  2. < c:choose> < c:when> < c:otherwise>

    <% 
    	request.setAttribute("height", 180); 
    %>
    <c:choose>
    	<%-- 这是 html 注释 --%> 
    	<c:when test="${ requestScope.height > 190 }">
        	<h2>小巨人</h2>
        </c:when>
        <c:when test="${ requestScope.height > 180 }"> 
        	<h2>很高</h2>
        </c:when>
        <c:when test="${ requestScope.height > 170 }">
        	<h2>还可以</h2>
            </c:when>
        <c:otherwise>
        	<c:choose> 
        		<c:when test="${requestScope.height > 160}"> 
        			<h3>大于 160</h3> 
        		</c:when>
                <c:when test="${requestScope.height > 150}"> 
                	<h3>大于 150</h3> 
                </c:when>
                <c:when test="${requestScope.height > 140}"> 
                	<h3>大于 140</h3> 
                </c:when> 
                <c:otherwise> 
                	其他小于 140 
                </c:otherwise> 
            </c:choose>
        </c:otherwise>
    </c:choose>
    
  3. <c:forEach />

    <c:forEach begin="1" end="10" var="i">
    	第${i}行
    </c:forEach>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值