【WEB】JSTL简单实例

JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。

JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。

根据JSTL标签所提供的功能,可以将其分为5个类别。

  • 核心标签
  • 格式化标签
  • SQL 标签
  • XML 标签
  • JSTL 函数
    配置JSTL标签库的jar到类路径
    把jstl.jar和standard.jar拷贝到lib目录
    在这里插入图片描述
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

一种是

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core_rt" %>

网上解释,其中RT库是基于传统请求的运行库,如果JSP不支持EL表达式时,用这个库替换非rt库,一般即可解决问题。

核心 标签

引用核心标签库

页面中添加如下的处理指令

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

1.1.1.<c:set>和<c:out>标签

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h3>
c:set和c:out标签
</h3>
<p>
    <c:set var="a" scope="request" value="${20}"/> c:set设置变量,用的不多<br/>
    <c:out value="${a}"/> c:out页面输出数据,用的有点多<br/>
    ${a}<br/>
    <c:set var="b" value="${'<b>Hello World !</b>'}"/><br/>
    ${pageScope.b}<br/>
    <c:out value="${b}" escapeXml="true"/><br/>
</p>
</body>
</html>

c:if标签

示例

<h3>c:if标签</h3>
  <c:if test="${not (empty a)}">
    a存在
  </c:if>
  <c:remove var="a"/>
  <c:if test="${empty a}">
    a不存在
  </c:if><br/>

c:choose标签

示例

<h3>c:choose标签</h3>
<c:choose>
    <c:when test="${not (empty a)}">
        a存在
    </c:when>
    <c:otherwise>
        a不存在
    </c:otherwise>
</c:choose>

c:foreach标签

<h3>c:foreach</h3>
<%
//创建一个collection
    HashSet<String>set=new HashSet<>();
    set.add("hero");
    set.add("hammmer");
    set.add("sdhhs");
    pageContext.setAttribute("set",set);

%>
<c:forEach varStatus="k" var="a" items="${set}" step="2" begin="0" end="2">
${k.index}:${a},
</c:forEach><br/>
<h4>迭代map集合</h4>
<%
    HashMap<String,Integer>map =new HashMap<>();
    map.put("a",2000);
    map.put("b",3000);
    map.put("c",4000);
    pageContext.setAttribute("map",map);
%>
<c:forEach var="t" items="${map}">
    ${t.key}:${t.value}<br/>
</c:forEach><br/>

c:forTokens

这个标签是对一个根据某个字符分隔开的字符串数组进行迭代

示例

<h3>c:forTokens</h3>
<%
pageContext.setAttribute("aa","Hello World !,Hi every one !");
%>
<c:forTokens var="a" items="${aa}" delims=" |,">
    ${a}~
</c:forTokens>

格式化标签

JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下:

<%@ taglib prefix="fmt" 
           uri="http://java.sun.com/jsp/jstl/fmt" %>
 如果无法处理表达式则用
<%@ taglib prefix="fmt" 
           uri="http://java.sun.com/jsp/jstl/fmt_rt" %>

格式化时间

<h3>格式化时间:</h3>
  <%
  pageContext.setAttribute("cur",new Date());
  %>
  ${cur}<br/>
  <fmt:formatDate value="${cur}" pattern="yyyy年MM月dd日"/><br/>
  <fmt:formatDate value="${cur}" pattern="yyyy年MM月dd日" var="aa"/>
  <c:out value="${aa}"/><br/>

格式化数字

```html
<h3>格式化数字:</h3>
<%
  pageContext.setAttribute("num",23423423234234234L);
%>
${num}<br/>
<fmt:setLocale value="en"/>
<fmt:formatNumber value="${num}" type="currency"/>格式化货币<br/>
<fmt:formatNumber value="${num}" pattern="000,000,000,000"/>格式化数字<br/>

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值