<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<html>
<head>
<title>TagLib标签库</title>
</head>
<body>
<%--引用jar包--%>
<%--默认情况下,Servlet 2.3 / JSP 1.2是不支持EL表达式的,而Servlet 2.4 / JSP 2.0支持。注意修改web.xml--%> <h1>JSTL核心标签</h1>
<%--<c:out>标签用来显示一个表达式的结果,与<%= %>作用相似,它们的区别就是<c:out>标签可以直接通过"."操作符来访问属性。
举例来说,如果想要访问order.orderId,只需要这样写:<c:out value="order.orderId">--%>
<h3><c:out> 实例</h3>
<c:out value="&lt要显示的数据对象(未使用转义字符)&gt" escapeXml="true" default="默认值"></c:out><br/>
<c:out value="&lt要显示的数据对象(使用转义字符)&gt" escapeXml="false" default="默认值"></c:out><br/>
<c:out value="${null}" escapeXml="false">使用的表达式结果为null,则输出该默认值</c:out><br/> <h3><c:set> 实例</h3>
<c:set var="salary0" scope="session" value="${2000*2}"/>
<c:out value="${salary0}"/> <h3><c:catch> 实例</h3>
<c:catch var ="catchException">
<% int x = 5/0;%>
</c:catch>
<c:if test = "${catchException != null}">
<p>异常为 : ${catchException} <br />
发生了异常: ${catchException.message}</p>
</c:if> <h3><c:if> 实例</h3>
<c:set var="salary" scope="session" value="${2000*2}"/>
<c:if test="${salary > 2000}">
<p>我的工资为: <c:out value="${salary}"/><p>
</c:if> <h3><c:choose> 实例</h3>
<%--<c:set var="salary" scope="session" value="${2000*2}"/>--%>
<p>你的工资为 : <c:out value="${salary}"/></p>
<c:choose>
<c:when test="${salary <= 0}">
太惨了。
</c:when>
<c:when test="${salary > 1000}">
不错的薪水,还能生活。
</c:when>
<c:otherwise>
什么都没有。
</c:otherwise>
</c:choose> <h3><c:forEach> 实例</h3>
<c:forEach var="i" begin="1" end="5">
Item <c:out value="${i}"/><p>
</c:forEach> <h3><c:param> 和<c:url> 实例</h3>
<c:url var="myURL" value="jsp/demo3.jsp">
<c:param name="name" value="zhangsan"/>
<c:param name="url" value="www.jingzhengu.com"/>
</c:url>
<a href="/<c:out value="${myURL}"/>">
使用 <c:param> 为指定URL发送两个参数。</a> <%-- <h3><c:redirect> 实例</h3>
<c:redirect url="http://www.jingzhengu.com"/>--%> <h1>JSTL格式化标签</h1>
<h3>数字格式化:</h3>
<c:set var="balance" scope="session" value="120000.2309" />
<p>格式化数字 (1): <fmt:formatNumber value="${balance}" type="currency"/></p>
<p>格式化数字 (2): <fmt:formatNumber type="number" maxIntegerDigits="3" value="${balance}" /></p>
<p>格式化数字 (3): <fmt:formatNumber type="number" maxFractionDigits="3" value="${balance}" /></p>
<p>格式化数字 (4): <fmt:formatNumber type="number" groupingUsed="false" value="${balance}" /></p>
<p>格式化数字 (5): <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" /></p>
<p>格式化数字 (6): <fmt:formatNumber type="percent" minFractionDigits="10" value="${balance}" /></p>
<p>格式化数字 (7): <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" /></p>
<p>格式化数字 (8): <fmt:formatNumber type="number" pattern="###.###E0" value="${balance}" /></p>
<p>美元 :<fmt:setLocale value="en_US"/>
<fmt:formatNumber value="${balance}" type="currency"/></p> <h3>数字解析:</h3>
<fmt:parseNumber var="i" type="number" value="${balance}" />
<p>数字解析 (1) : <c:out value="${i}" /></p>
<fmt:parseNumber var="i" integerOnly="true"
type="number" value="${balance}" />
<p>数字解析 (2) : <c:out value="${i}" /></p> <h3>日期格式化:</h3>
<c:set var="now" value="<%=new java.util.Date()%>" /> <p>日期格式化 (1): <fmt:formatDate type="time"
value="${now}" /></p>
<p>日期格式化 (2): <fmt:formatDate type="date"
value="${now}" /></p>
<p>日期格式化 (3): <fmt:formatDate type="both"
value="${now}" /></p>
<p>日期格式化 (4): <fmt:formatDate type="both"
dateStyle="short" timeStyle="short"
value="${now}" /></p>
<p>日期格式化 (5): <fmt:formatDate type="both"
dateStyle="medium" timeStyle="medium"
value="${now}" /></p>
<p>日期格式化 (6): <fmt:formatDate type="both"
dateStyle="long" timeStyle="long"
value="${now}" /></p>
<p>日期格式化 (7): <fmt:formatDate pattern="yyyy-MM-dd"
value="${now}" /></p> <h3>日期解析:</h3>
<c:set var="now1" value="20-10-2015" /> <fmt:parseDate value="${now1}" var="parsedEmpDate"
pattern="dd-MM-yyyy" />
<p>解析后的日期为: <c:out value="${parsedEmpDate}" /></p> <h1>JSTL函数</h1> <h3><c:substring> 实例</h3>
<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="${fn:substring(string1, 5, 15)}" />
<p>生成的子字符串为 : ${string2}</p> <h3><c:contains> 实例</h3>
<c:set var="theString" value="I am from runoob"/>
<c:if test="${fn:contains(theString, 'runoob')}">
<p>找到 runoob<p>
</c:if>
<c:if test="${fn:contains(theString, 'RUNOOB')}">
<p>找到 RUNOOB<p>
</c:if> </body>
</html>

  

jsp-TagLib标签库的更多相关文章

  1. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  2. JSP 标准标签库(JSTL)之最常用的JSTL标签总结

    JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. Apache Tomcat安装JSTL 库步骤如下: 从Apache的标准标签库中下载的二进包(jakarta-t ...

  3. jsp标准标签库

    抄袭自:http://www.cnblogs.com/hongten/archive/2011/05/14/2046005.html JSP标准标签库     Pass by xkk ,and aut ...

  4. JSP自定义标签库

    总所周知,JSP自定义标签库,主要是为了去掉JSP页面中的JAVA语句 此处以格式化输出时间戳为指定日期格式为例,简单介绍下JSP自定义标签的过程. 编写标签处理类(可继承自javax.servlet ...

  5. JSTL(JSP Standard Tag Library ,JSP标准标签库)

    JSTL标签之核心标签   JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个实现 Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管 ...

  6. JSP标准标签库(JSTL)--JSTL简介与安装

    对于MVC设计模式来讲,我们一直强调,在一个JSP钟scriptlet代码越少越好,但是只靠以前的概念很难实现,因为标签的开发特别麻烦,所以为了简化标签,也为了让标签更具备一些通用性,所以一般在开发中 ...

  7. jsp的标签库和自定义标签

    1.jstl标签库 JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. ...

  8. JSP 标准标签库JSTL

    JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...

  9. JSP标准标签库:JSTL

    JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能. jstl出现的目的同el一样也是要代替jsp页面中的脚本代码. ...

  10. JSTL(JSP标准标签库)

    JSP标准标签库(JavaServer Pages Tag Library, JSTL)是一个定制JSP标签库的集合,封装了JSP应用的通用核心功能.用来解决像遍历Map或集合.条件测试.XML处理, ...

随机推荐

  1. typescript 函数(定义、参数、重载)

    代码: // 本节内容 // 1.函数的定义 // 2.参数(可选参数/默认参数/剩余参数) // 3.方法的重载 // js // function add(x,y){ // return x+y ...

  2. linux的awk使用

    awk统计password文件中,登陆shell为“/sbin/nologin”的用户个数 [root@localhost ~]# cat passwd | grep "/sbin/nolo ...

  3. SpringMvc 支持一下类型Serlvet 原生的 API 作为目标方法的参数

    /** * 可以使用 Serlvet 原生的 API 作为目标方法的参数 具体支持以下类型 * * HttpServletRequest * HttpServletResponse * HttpSes ...

  4. Jmeter(六)事务

    事务是性能测试之必不可少的关注点, Jmeter默认把每一个请求都统计成了一个事务, 但有时候我们根据业务需求, 会把多个操作统计成一个事务, Jmeter当然也考虑到了这个需求, 因此我们可以通过逻 ...

  5. 网易云课堂_C++程序设计入门(下)_期末考试_期末考试在线编程题目

    期末考试在线编程题目 返回考试   本次考试题目一共两个,在考试期间可以不限制次数地提交 温馨提示: 1.本次考试属于Online Judge题目,提交后由系统即时判分. 2.学生可以在考试截止时间 ...

  6. MySQL 常见面试知识点

    之前简单总结了一下MySQL的场景面试知识点 1.讲下MVCC原理 2.MySQL高可用架构介绍 3.OSC(在线更改表结构)原理 4.MySQL性能调优有哪些关键点/经验 5.MySQL在线备份方案 ...

  7. 模糊查询基于select遍历json文件自动填充的实现

    HTML页面 <tr> <td align="left"><span>案由</span> <input type=" ...

  8. 用linux主机做网关搞源地址转换(snat)

    一.原理图  二.环境 外网  A:192.168.100.20 (vmnet1) 网关  B:192.168.100.10 (vmnet1)     192.168.200.10 (vmnet2) ...

  9. 20个python项目--图片转字符画

    转自实验楼:https://www.shiyanlou.com/courses/370/learning/?id=1191 代码: # -*- coding:utf-8 -*- from PIL im ...

  10. vue项目与node项目分离

    为了前后端分离,我们在前端和api层中间,架构了一层node层,用来做服务端渲染,来加快用户的首屏可用和对搜索引擎的友好.项目一开始放置在同一个git仓库里面,分别放在client目录和server目 ...