EL:Expression language

在传统的jsp页面中,使用<% java代码 %>显示数据有许多的弊端。
比如类型转换,需要处理的null,代码参杂。
采用EL,JSTL等就方便了很多。
EL:
实例:
${requestScope.student.address.schoolAddress} 这里是request域
${域对象.域对象中的属性.属性.属性… (一直级联属性)}

EL的操作符:
点操作符: 使用简单方便
[" “]操作符或者[ ’ ’ ]: 功能强大,可以获取特殊符号(。——+;等),可以获取变量值,可以访问数组,可以获取Map对象。
[” reauestScope “][” student “][” address “][” schoolAddress “]…[” “][” “][” "]

JSTL
是比EL更强大,但是eclipse不自带。
1.需要映入jar包(jstl.jar)和辅助jar包(standard.jar)。
2.引入tablib:<%@taglib uri =“http://java.sun.com/jsp/jstl1/core” prefix=“c”>其中prefix=“c"是前缀。
核心标签库:通用标签库,条件标签库,迭代标签库。
通用标签库:<c:set>赋值
①在某个作用域中给变量赋值。
request.setAttribute(” name",“zhangsan”);
==<c:set var=“name” value=“zhangsan” scope=“request”> ; ${requestScope.name}
②可在某个对象的属性赋值。
r e q u e s t S c o p e . s t u d e n t . n a m e ; &lt; c : s e t t a r g e t = &quot; {requestScope.student.name}; &lt;c:set target=&quot; {requestScope.student}" property=“sname” vaule=“zxs”>;//不能指定scpoe
${requestScope.student.name}

取出:<c: out>非常强大,自带default默认值;(https,加上s代表加密)

remove:删除一个变量,从域中删除。

选择:<c:if test=“条件” scope="" var=“result”>//单选,result为结果域,scope为域

<c:choose>
<c:when test="">内容</c:when>
<c:when test=""></c:when>
<c:when test=""></c:when>

<c:otherwise test=""></c:otherwise>
</c:choose>

循环(对应java的两种形式):<c:foreach begin=“0” end=“5” step=“1”>></c:foreach>
<c:foreach var=“name” items="${requestScope.names}"></c:foreach>

猜你喜欢

转载自blog.csdn.net/weixin_42603009/article/details/87026688
今日推荐