Java web 笔记之EL表达式+JSTL

一. EL表达式

1. 什么是EL表达式

EL即Expression Language (表达语言)
是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化,减少jsp页面的Java代码

2. 导入jar包

jar包和jstl的jar包已放在结尾
把jar包放在WEB-INF包下的lib里面,如果没有lib包就创建一个
在这里插入图片描述

3. 功能&使用方法

3.1 功能:

替代JSP页面中的复杂代码
相比在JSP中嵌入Java代码,EL应用更简单
特点:
EL得到某个数据时可以自动转换类型
对于类型的限制更加宽松

3.2 使用方法
${EL exprission}
//${bean.name}底层是调用bean的getName方法
${bean.name}或${bean['name']}
3.3EL表达式的使用特点

EL表达式是从四大作用域里面获取数据
EL表达式在获取作用域里面的值的时候如果没有指定作用域,根据作用域的优先级从高到低依次查找,如果找到则不会往后找

3.4 四大作用域

四大作用域的优先级
在当前页面(页面没有发生跳转):
page>requset>session>application
页面发送跳转:
requset>session>application
四大作用域范围:
page:只能在当前页面有效
page<requset<session<application

4. 总结

总的来说EL就是一个方便并且能在jsp页面代替Java代码的代码,它代码量少并且实用
下面是一个加入了EL表达式的web项目

<body>
<div class="container">
    <h3 style="text-align: center">购物车列表</h3>
    <table border="1" class="table table-bordered table-hover">
        <tr class="success">
            <th><input type="checkbox" id="chElt" onclick="checkOrCancelAll()"><span id="mySpan"></span></th>
            <th>商品序号</th>
            <th>商品名称</th>
            <th>商品描述</th>
            <th>商品图片</th>
            <th>商品数量</th>
            <th>商品总价</th>
            <th>操作</th>
        </tr>
        <c:forEach var="s" items="listshopping">

            <tr>
                <td><input type="checkbox" class="interest"></td>
                <td>${s.Sid()}</td>
                <td>${s.Sname()}</td>
                <td>${s.Sinfo()}</td>
                <td><img src="../static/${s.Spath()}"></td>
                <input id="${s.Sid()}" style="width: 40px;text-align: center;" type="text" value="${s.Count()}"/>
                <td>总价钱</td>
                <td>
                    <a class="btn btn-default btn-sm" href="${pageContext.request.contextPath }/goodsServlet.do">购买</a>&nbsp
                    <a class="btn btn-default btn-sm" href="${pageContext.request.contextPath }/shoppingServlet.do?nid=${s.Sid()}">删除</a>
                    <a class="btn btn-default btn-sm" href="/updateOrder.do?nid=${s.Sid()}">修改</a>&nbsp;
                </td>
            </tr>
            <tr>
                <td colspan="8" align="left"><a href="${pageContext.request.contextPath }/admin/xmb.jsp">返回商品页面</a></td>
                <td colspan="8" align="right"><a href="${pageContext.request.contextPath }/closeServlet.do?nid=${s.Sid()}">我要结账</a></td>
            </tr>
        </c:forEach>

    </table>
</div>

</body>

二. JSTL标签

1. 概述

JSTL:JSP Standard Tag Library的缩写,即JSP标准标签库,是sun的一套标准
JSTL是apache对EL表达式的扩展(JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,它不是JSP内置的标签,需要我们自己导包,还要指定标签库

2. JSTL标签库

我们一般称jstl标签为c标签
在JSTL的核心标签库中,包括了<c:out>、<c:set>、<c:remove>和<c:catch>等4个表达式标签
JSTL一共包含四大标签库:

core:核心标签库,我们学习的重点;
fmt:格式化标签库,只需要学习两个标签即可;
sql:数据库标签库,不需要学习了,它过时了;
xml:xml标签库,不需要学习了,它过时了

三.jar包下载

https://pan.baidu.com/s/1I5jbDdSLZ1Yi3RHzouBGdw

提取码6666

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值