EL表达式与jstl标签

EL语法

以“${”作为开始,以“}”作为结束

直接使用变量名获取值$

格式:${ username }

变量属性范围名称

属性范围

            EL中的名称

page

pageScope,例如${pageScope.username},

表示在page范围内查找username变量,找不到返回Null

request

requstScope

session

sessionScope

application

applicationScope

EL运算符 :运算符”[ ]” ,运算符”.”

获取对象属性

${user.name} == ${user[name]}

使用EL表达式输出名字显示

<%
    Map names = new HashMap();
    names.put("one","LiYang");
    names.put("two","WangHua");
    request.setAttribute("names",names);
%>
姓名:${names.one}<br/>
姓名:${names["two"] }<br/>
%>

 接下来是jstl标签

核心标准库:
set :<c:set>主要用来将变量储存至JSP范围中或是 JavaBean 的属性中。
    利用头标记与尾标记赋值
    如何给对象赋值 结合<jsp:usebean>
out  如何取值 结合<jsp:usebean>
remove  移除变量
catch  捕获异常 var
if  choose when otherwise
forEach:
 begin:开始
  end:结束
  step:自增多少
  var:用于存放循环的值的变量名


items:存放数组或者集合对象  el
varstatus:当前的变量的状态
    index:下标
    first:
    last:
    count:

<c:import> <c:param>


<c:redirect>  页面的跳转
<c:url>

代码演示

判断登录

<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>

通过迭代标签显示商品列表

<%
	List products = GoodsDao.getAllProducts();
	request.setAttribute("products", products);
%>
…
<!-- 循环输出商品信息 -->
<c:forEach var="product" items="${requestScope.products}" varStatus="status">
<!-- 如果是偶数行,为该行换背景颜色 -->
    <tr <c:if test="${status.index % 2 == 1 }">style="background-color:rgb(219,241,212);"</c:if>>
        <td>${product.name }</td>
        <td>${product.area }</td>
        <td>${product.price }</td>
    </tr>
</c:forEach>


版权声明:本文为Parsley_Peak原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。