pageContext.setAttribute("n3", "30");pageContext.setAttribute("n4", "40");%>${ n1 + n2 + n3 }<h3>EL执行逻辑运算</h3>${ n1 < n2 } - ${ n1 lt n2 } <!-- less than --><br/>${ n1 > n2 } - ${ n1 gt n2 } <!-- great than --><br/>${ n1 <= n2 } - ${ n1 le n2 } <!-- less equal --><br/>${ n1 >= n2 } - ${ n1 ge n2 } <!-- great equal --><br/>${ n1 == n2 } - ${ n1 eq n2 } <!-- equal --><br/><h3>EL执行关系运算</h3>${ n1<n2 && n3 < n4 } - ${ n1<n2 and n3 < n4 }<br/>${ n1<n2 || n3 < n4 } - ${ n1<n2 or n3 < n4 }<br/>${ !(n1 < n2) } - ${ not(n1<n2) }<h3>EL执行三元运算</h3>${ n1 < n2 ? "正确":"错误" }<h3>empty运算</h3>${ user == null } - ${ empty user }${ user != null } - ${ not empty user }【EL操作WEB开发的常用对象11个】<h1>EL功能三:操作WEB开发常用的对象</h1><!--pageScope,requestScope,sessionScope,applicationScope - 获取JSP中域中的数据param,paramValues - 接收参数.header,headerValues - 获取请求头信息initParam - 获取全局初始化参数cookie - WEB开发中cookiepageContext - WEB开发中的pageContext. --><h3>接收请求的参数</h3><%= request.getParameter("id") %><%= request.getParameter("name") %><%= Arrays.toString(request.getParameterValues("hobby")) %><hr/>${ param.id }${ param.name }${ paramValues.hobby[0] }${ paramValues.hobby[1] }<h3>获取请求头</h3><%= request.getHeader("User-Agent") %><hr/>${ header["User-Agent"] }<h3>获取全局初始化参数</h3>${ initParam.username }<h3>获取Cookie中的值</h3>${ cookie.history.value }<h3>获取PageContext中的对象</h3>IP地址:${ pageContext.request.remoteAddr }工程路径:${ pageContext.request.contextPath``` }1.1.1.1 JSTL【JSTL的概述】Ø 什么是JSTL: ![](http://i2.51cto.com/images/blog/201805/28/2d62e28f5adfc7371a3730ecca4ea715.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
Ø 为什么学习JSTL:
JSTL和EL结合 替换页面中<%%>
Ø JSTL版本:JSTL1.0 :不支持EL表达式.
JSTL1.1 和 1.2 :支持EL表达式.
Ø JSTL的标签库:包含了五类标签.core(核心标签),fmt(国际化标签),xml(XML标签),sql(SQL标签),fn(JSTL提供EL函数库)
Ø 使用JSTL:引入JSTL的相关的jar包.
在页面中引入标签库.<%@ taglib uri=”” prefix=””%>
【JSTL的核心标签的用法】if
forEach
【JSTL的提供EL的函数库】
<h1>JSTL提供的EL的函数库</h1>
${ fn:contains("Hello World","Hello") }
${ fn:length("HelloWorld") }
${ fn:toLowerCase("ABCDE") }
<c:forEach var="i" items='${ fn:split("a-b-c-d","-") }'>
${ i }
</c:forEach>1.1.1 代码实现:1.1.1.1 创建数据库:
CREATE TABLE `product` ( `pid` varchar(32) NOT NULL, `pname` varchar(50) DEFAULT NULL, `market_price` double DEFAULT NULL, `shop_price` double DEFAULT NULL, `pimage` varchar(200) DEFAULT NULL, `pdate` date DEFAULT NULL, `is_hot` int(11) DEFAULT NULL, `pdesc` varchar(255) DEFAULT NULL, `pflag` int(11) DEFAULT NULL, `cid` varchar(32) DEFAULT NULL, PRIMARY KEY (`pid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1.1.1.2 页面显示:
<c:forEach var="p" items="${list }"><tr><td>${ p.pid }</td><td>${ p.pname }</td><td>${ p.shop_price }</td><td><c:if test="${ p.is_hot == 1 }">是</c:if><c:if test="${ p.is_hot != 1 }">否</c:if></td><td>${ p.pdesc }</td></tr></c:forEach>