jstl c核心标签库

1、引入标签库

  • <%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core”%>

2、out输出标签

<c:out name="value" //要输出的表达式
    [escapeXml="true|false"] //特殊字符是否转换为实体码,如>转换为gt
    [default="defaultValue"] //默认值
/>

如果要输出的字符串中包含一段代alert的js脚本,如果直接用el表达式输出的话浏览器会直接执行这个js脚本,这显然是不对的因为破坏了页面结构;那么想要正确输出的话就可以使用c:out标签。

3、set设置标签

  • 将value值设置到javabean对象具体属性上或者map中,或使用自定义变量保存。
<c:set value="value"//设置的值
    var="varname"//保存value值的变量名
    [scope="page|request|session|application"]//存储范围
    [target=""]//value值要设置到的javabean对象或者map对象,必须是el表达式
    [property=""]//javabean属性名或map的key值,与target配合使用
/>

4、remove标签

  • 删除指定范围内的变量。
<c:remove var="varName" 
    scope="page|request|session|application"
/>

5、逻辑标签

<c:if test="el表达式" var="varName"//将test结果保存到var变量中以便后续使用 [scope="page|request|session|application"]/>

<c:if test="el表达式" [var="varName"] [scope="page|request|session|application"]>
    body content
</c:if>

<c:choose>
    <c:when test="el表达式1">
        body content1
    <c:when/>
    <c:when test="el表达式2">
        body content1
    <c:when/>
    ....
    <c:otherwise>
        body content3
    </c:otherwise>
</c:choose>

6、forEach遍历标签

<c:forEach items="collection"//被遍历的集合
    [var="varName"]//当前元素变量名
    [varStatus="name"]//包含循环状态的一些信息
    [begin=""]//循环起始索引,默认是0
    [end=""]//循环结束索引,模式是最后一个元素索引
    [step=""]>//每次迭代推进的长度(步长),默认是1
    body content
</c:forEach>

<c:forEach var="item" items="${list}" varStatus="ind"
        begin="0" end="10" step="2">
    ${item} 输出当前元素
    ${item.name}输出当前元素的name属性(如果当前元素是个对象)
    ${ind.index } 索引
    ${ind.count }已经迭代的数量
    ${ind.current }当前迭代对象
    ${ind.first }是否第一个元素
    ${ind.last }是否最后一个元素
</c:forEach>

6.1、foreach中items属性支持的集合

  1. .java.util.Collection:调用iterator()来获得的元素。
  2. java.util.Map:通过java.util.Map.Entry所获得的实例。
  3. java.util.Iterator:迭代器。
  4. java.util.Enumeration:枚举。
  5. 数组。
  6. javax.servlet.jsp.jstl.sql.Result:SQL查询所获得的行。

7、forTokens标签

  • 用户遍历以特定分隔符进行分割的字符串。
<c:forTokens items="string"//要被分割的字符串
    delims=""//分隔符
    [var="varName"]//迭代的当前元素
    [varStatus=""]//包含循环状态的一些信息
    [begin=""]//循环起始索引,默认是0
    [end=""]//循环结束索引,模式是最后一个元素索引
    [step=""]>//每次迭代推进的长度(步长),默认是1
    body content
</c:forTokens>

8、url标签

  • 输出处理过后的url。
<c:url value="url" //要处理的url
    [context=""]//valueurl前面的上下文名称
    [var=""]//处理后的路径存储到哪个变量名中
    [scope="page|request|session|application"]//存储范围
/>

9、redirect标签

<c:redirect url="url" //需要重定向的地址
    context=""//url前面的上下文名称
/>

你可能感兴趣的:(foreach,jstl)