Jstl表达式常用标签语法


核心标签是最常用的JSTL标签。引用核心标签库的语法如下:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
c:out>  用于在JSP中显示数据,就像<%= ... >
<c:set>  用于保存数据
<c:remove>   用于删除数据
<c:catch>    用来处理产生错误的异常状况,并且将错误信息储存起来
<c:if>   与我们在一般程序中用的if一样
<c:choose>   本身只当做<c:when>和<c:otherwise>的父标签
<c:when>     <c:choose>的子标签,用来判断条件是否成立
<c:otherwise>    <c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行
<c:import>   检索一个绝对或相对 URL,然后将其内容暴露给页面
<c:forEach>  基础迭代标签,接受多种集合类型
<c:forTokens>    根据指定的分隔符来分隔内容并迭代输出
<c:param>    用来给包含或重定向的页面传递参数
<c:redirect>     重定向至一个新的URL.
<c:url>  使用可选的查询参数来创造一个URL

if、choose标签的简单用法吧: 
c:choose语法格式

<c:choose>
    <c:when test="<boolean>"/>
        ...
    </c:when>
    <c:when test="<boolean>"/>
        ...
    </c:when>
    ...
    ...
    <c:otherwise>
        ...
    </c:otherwise>
</c:choose>
<c:choose>标签没有属性。
<c:when>标签只有一个属性,在下表中有给出。
<c:otherwise>标签没有属性。

c:if语法格式

<c:if test="<boolean>" var="<string>" scope="<string>">
   ...
</c:if>
属性       描述 是否必要    默认值
test     条件  是   无
var  用于存储条件结果的变量     否   无
scope    var属性的作用域   否   page

来看看c:forEach标签的简单用法吧: 
c:forEach语法格式

<c:forEach
    items="<object>"
    begin="<int>"
    end="<int>"
    step="<int>"
    var="<string>"
    varStatus="<string>">

    ...

属性             描述                             是否必要   默认值
items       要被循环的信息                            否     无
begin       开始的元素(0=第一个元素,1=第二个元素)      否    0
end         最后一个元素(0=第一个元素,1=第二个元素)    否     Last element
step        每一次迭代的步长                           否     1
var         代表当前条目的变量名称                    否     无
varStatus   代表循环状态的变量名称                    否     无
实例代码如下:
   <c:set value="20" var="age" scope="request"></c:set>
   <c:if test="${requestScope.age > 18}">成年了</c:if>

   <c:if test="${param.age > 18}" var="isAdult" scope="request"></c:if>
   isAdult:<c:out value="${requestScope.isAdult}"></c:out><br>

   <c:choose>
    <c:when test="${param.age > 60}">老年</c:when>
    <c:when test="${param.age > 40}">中年</c:when>
    <c:otherwise>青年</c:otherwise>
   </c:choose>
 <%
    List<Customer> custs = new ArrayList<Customer>();
    custs.add(new Customer(1,"AA"));
    custs.add(new Customer(2,"BB"));
    custs.add(new Customer(3,"CC"));
    custs.add(new Customer(4,"DD"));
    custs.add(new Customer(5,"EE"));
    custs.add(new Customer(6,"FF"));
    request.setAttribute("custs",custs);
    %>
    <c:forEach items="${requestScope.custs}" var="safly" begin="1" step="2" end="5">
        ${safly.id }:${safly.name }
    </c:forEach>
<br>

    <%
        Map<String,Customer> custMap = new HashMap<String,Customer>();
        custMap.put("a",new Customer(1,"AA"));
        custMap.put("b",new Customer(2,"BB"));
        custMap.put("c",new Customer(3,"CC"));
        custMap.put("d",new Customer(4,"DD"));
        custMap.put("e",new Customer(5,"EE"));
        request.setAttribute("custMap",custMap);
     %>
     <c:forEach items="${requestScope.custMap}" var="safly">
        ${safly.key }---${safly.value.id }--${safly.value.name }<br>
     </c:forEach>

     <%
        String [] names = new String[]{"A","B","C"};
        request.setAttribute("names",names);
      %>
      <c:forEach var="safly" items="${names}">
        ${safly }
      </c:forEach>




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值