什么是EL
EL即Expression Language(表达式语言)
EL的功能
替代JSP页面中的复杂代码
EL的语法
${ EL exprission } ${ bean.name } 或 ${ bean['name'] }
jstl标签
使用了EL表达式可以简化JSP页面代码,但是如果需要进行逻辑判断怎么办?虽然EL表达式可以访问JavaBean的属性,但是并不能实现在JSP中进行逻辑判断,因而要使用JSTL标签。
例如:if,foreach
if
<body>
<c:set var="isLogin" value="${not empty sessionScope.userId}"/>
<c:if test="${not login}">
…登录表单
</form>
</c:if>
<c:if test="${isLogin}">
已经登录!
</c:if>
</body>
foreach
<table class="table table-hover">
<tr>
<td>商品名称</td>
<td>商品单价</td>
<td>商品信息</td>
<td>商品图片</td>
<td>商品数量</td>
<td>总价</td>
<td>操作一下</td>
</tr>
<c:set var="sum" value="0"></c:set>
<c:forEach items="${ slist}" var="d">
<tr>
<td>${d.good.bname}</td>
<td>${d.good.bprice}</td>
<td>${d.good.binfo}</td>
<td>
<img src="${d.good.bface}">
</td>
<td>
<button class="btn" onclick="bbb(this,'+',${d.good.bid})">+</button>
<input id="text" onblur="xg(this,${d.good.bid})" type="text" style="width:40px;text-align:center" value="${d.gnumber} "/>
<button class="btn" onclick="bbb(this,'-',${d.good.bid})">-</button>
</td>
<td>${d.gprice}</td>
<td>
<button onclick="sc(${d.good.bid})" class="btn btn-danger">删除</button>
</td>
</tr>
${sum+d.gprice }
</c:forEach>
</table>
<button class="btn" >总价${sum}</button>
<a href="index.jsp">返回首页</a>
通过这两段代码我们可以看到我们是用${}获取到想使用的值,那么这个值是哪里来的呢?我们用session内置对象传过来就好了
<%
String uid=session.getAttribute("a")+"";
int uuid=Integer.valueOf(uid);
IorderItembiz iot=new Imp_orderItembiz();
ArrayList<OrderItem> oslist=iot.getAll(uuid);
request.setAttribute("oslist", oslist);
request.getRequestDispatcher("gwc.jsp").forward(request, response);
%>
我们把我们要使用的集合放进session内置对象中,再使用¥{oslist}就可以获取到集合了
jstl跟el配合使用可以极大的简化jsp开发