JSTL表达式与EL表达式用法*更新版*

来源:互联网 发布:小说阅读网软件 编辑:程序博客网 时间:2024/06/10 06:39

https://www.ibm.com/developerworks/cn/java/j-jstl0211/   JSTL入门:表达式语言

1.JSTl声明

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%  String path = request.getContextPath();  String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.6.4.min.js"></script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>查询商品列表</title></head><body> <script type="text/javascript">  </script>  <div><h2>JSTL和EL</h2><!-- 赋值 -->      <c:set var="name" value="zhang" scope="request">       </c:set>          ------------------分隔符----------------------------------<br/>    <!-- EL三元运算 -->    ${empty(requestScope.name) ? 'name is null':requestScope.name }<br/>    ${not empty(requestScope.name) ? 'name is null':requestScope.name }<br/>        ------------------分隔符----------------------------------<br/>    <!-- JSTL输出控制 这儿给不存在的name2,输出默认-->      <c:out value="${requestScope.name2}" default="name is null"></c:out> <br />          ------------------分隔符----------------------------------<br/>    <!-- JSTL if语句 --><c:if test="${user.name=='塔睿' }">${user.name }<br/></c:if><c:if test="${empty requestScope.name}" var="aa" scope="page">          not null    <br />      </c:if>      <c:if test="${!aa}">          is null     <br />      </c:if>        ------------------分隔符----------------------------------<br/>    <!-- JSTL删除元素 -->      <c:remove var="name" scope="request"></c:remove>          ------------------分隔符----------------------------------<br/>    <!-- JSTL多重分支语句 -->      <h5>获取到controller中的age值:${user.age }</h5>        ------------------分隔符----------------------------------<br/>    <!-- *注意*判断条件写在{}里面,不是外面,没有提示,不能拼错字母 -->    <c:choose>    <c:when test="${user.age<18 }">    Little Child<br/>    </c:when>    <c:when test="${user.age>=100 }">    Old Man<br/>    </c:when>    <c:when test="${user.age<=20 } && ${user.age>=1 }">    Cool<br/>    </c:when>    <c:otherwise>              其他情况<br/>          </c:otherwise>     </c:choose>        ------------------分隔符--------------------------------<br/>    <!-- JSTL多重分支判断字符串 -->      <c:choose>          <c:when test="${user.name == '塔睿'}">   塔睿<br/>          </c:when>          <c:when test="${user.address eq '里约'}">                                      里约<br/>          </c:when>          <c:otherwise>             默认情况<br/>          </c:otherwise>      </c:choose>          ------------------分隔符--------------------------------<br/><%-- 如果是 List<List<String>>list嵌套的情况,考虑嵌套foreach输出    <c:foreach item="${list}" var="ls">  c:foreach item="${ls}" var="l">     ${l}  </c:foreach></c:foreach> --%>    <!-- C:foreach遍历循环 -->    <!-- -->    <span> 输出list集合测试:${list.get(1) }</span><br/>    <c:forEach var="item" items="${list }" begin="0" end="1">         ${item }    </c:forEach>  </div></body></html>

2. EL 擅长寻找对象及其特性,然后对它们执行简单操作;它不是编程语言,甚至不是脚本编制语言。但是,与 JSTL 标记一起使用时,它就能使用简单而又方便的符号来表示复杂的行为。EL 表达式的格式是这样的:用美元符号($)定界,内容包括在花括号({})中

0 0
原创粉丝点击