EL与JSTL

JSTL和EL:
1、理解并会使用EL表达式
2、理解并会使用常用的jstl标签
EL表达式:
什么是EL:
el即表达式
el的功能:代替jsp页面中的复杂代码
el的语法:
${el exprission}
${bean.name}或${bean['name']}(这个是在属性与关键字的冲突,使用)
el特点:
1、自动转换类型
el得到某个数据时可以自己启动转换类型
对于类型的限制更加宽松
2、使用简单
相比jsp中嵌入Java,更加简单
el语法:
以“${”作为开始,以“}”作为结束
直接使用变量名获取值$
${name}
变量属性范围名称:
page:pageScope,例如${pageScope.username},表示在page范围内查找username变量,找不到返回Null
request:requestScope
session:sessionScope
application:applicationScope

为什么使用JSTL:
虽然EL表达式可以访问JavaBean的属性,但是并不能实现在JSP中进行逻辑判断,因而要使用JSTL标签
jstl的优点:
1、提供一组标准标签
2、可用于编写各种动态jsp页面
使用jstl的步骤:
1、创建web工程,选择JSTL1.1
2、在jsp页面添加taglib指令
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
3、使用JSTL标签
通用标签:
set:设置指定范围内的变量值
out:计算表达式并将结果输出显示
remove:删除指定范围内的变量
<!--set标签作用是在一定范围内设置属性内容  -->
    <c:set var="name" value="张三" scope="session"></c:set>
    <c:set var="name" value="李四" scope="application"></c:set>
    <!-- out标签作用是在页面中输出信息 -->
    <c:out value="${sessionScope.name}"></c:out>
    <c:remove var="name" scope="session"/>
    <c:out value="${sessionScope.name}" default="null"></c:out>
    ${applicationScope.name}
条件标签:
<%
request.setAttribute("islate", false);
request.setAttribute("name", "abc");
request.setAttribute("num", 20);
%>
<!-- 陈川周同学今天是否迟到 -->
    
    <c:if test="${islate}">
    	<c:out value="你给我跪下"></c:out>
    </c:if>
    <c:if test="${!islate }">
    	<c:out value="趴下"></c:out>
    </c:if>
    <!--判断name属性是否为空	  -->
    <c:if test="${name!=null}">
    	不为空
    </c:if>
    <c:if test="${num>15}">
    	大于15
    </c:if>
    <c:if test="true" var="test" scope="request"></c:if>
    ${test}
当只有两种选择时,用choose:
<%
request.setAttribute("day", 1);
%>
  	<!-- 判断今天是否工作日 -->
    <c:choose >
     	<c:when test="${day>0&&day<6}">
     		今天是工作日
     	</c:when>
     	<c:otherwise>
     		今天休息
     	</c:otherwise>
    </c:choose>



迭代标签:
实现对集合中对象的遍历
<%
   List list=new ArrayList();
   list.add("a");
   list.add("b");
   list.add("c");
   request.setAttribute("letters",list);
%>
<c:forEach var="i" begin="1" end="10" >
    	${i}
    </c:forEach>
    <c:forEach items="${letters}" var="l">
    	${l}<br/>
    </c:forEach>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值