JSP标准标签库

JSP标准标签库:Java Server Pages 标准标签库 (JSTL) 包含的各种标签可用于 JSP 页面中;

其优点有:

  1. 提供一组标准标签;
  2. 可用于编写各种动态 JSP 页面;
  3. 用于访问数据库、有条件地执行代码和支持国际化;

其组成为:

功能范围     URI                                    前缀

core(核心)    http://java.sun.com/jsp/jstl/core                   c *

I18N         http://java.sun.com/jsp/jstl/fmt                    fmt *

SQL           http://java.sun.com/jsp/jstl/sql              sql

XML          http://java.sun.com/jsp/jstl/xml                     x

funcions       http://java.sun.com/jsp/jstl/functions              fn *

 

在使用标准标签库时,第一步要先引入标准标签库:如引入core(核心):

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

 

一、通用便签:

1. set,<c:set>用于在某个范围(Page,Request,Session,Application等)中设置某个值,或者设置某个对象的属性

代码如下:

<%--set --%>

   <c:set value="${pageContext.request.contextPath }" scope="page" var="ctx"></c:set>

   <c:set value="${pageContext.request.contextPath }" scope="page" var="ctx1"></c:set>

   <p>ctx的值为:${ctx }</p>

2. remove ,<c:remove>用于删除某个变量或者属性

代码如下:

   <%--remove --%>

   <c:remove var="ctx1" scope="page"/>

   <p>ctx1的值为:${ctx1 }</p>

3. out    <c:out>计算一个表达式并将结果输出到当前的JspWrite对象

代码如下:

<%--out --%>

   <c:out value="${ctx }"></c:out>

4. catch  <c:catch>将可能抛出异常的代码放置在<c:catch>和</c:catch>之间,如果其中的代码抛出异常,异常将被捕获

效果如下:

二、条件标签

1. if    <c:if>实现java语言中if语句的功能

代码如下:

<%--条件标签 当条件为真,则输出 applicationMessage.properties--%>

   <c:if test="${5<10 }" var="ifvalue">

   <p>5小于10</p>

   <p>ifvalue的值:${ifvalue }</p>

   </c:if>

2. choose <c:choose>、<c:when>、<c:otherwise>一起实现互斥条件的执行,类似于java语言的if/else语句

代码如下:

   <%--<c:choose><c:when><c:otherwise> --%>

  <c:set value="15" scope="page" var="peopleAge"></c:set>

  <c:choose>

    <c:when test="${peopleAge<=2 }">

      <p>婴儿</p>

    </c:when>

    <c:when test="${peopleAge<18 }">

       <p>未成年人</p>

    </c:when>

    <c:otherwise>

      <p>成年人</p>

    </c:otherwise>

三、迭代标签

1. forEach   <c:forEach>对于包含了多个对象的集合进行迭代,重复执行它的标签体,或者重复迭代固定的次数

代码如下:

   <!-- items表示要迭代的变量 -->

   <c:forEach items="${persons }" var="person">

     <p>${person.name }------${person.name }age</p>

   </c:forEach>

2. forTokens  <c:forTokens>用于迭代字符串中由分隔符的各个成员

代码如下:

   <%--forTokens 迭代字符串,对字符串进行分割--%>

   <c:forTokens items="${stringT }" delims="," var="emp">

     <p>${emp }</p>

   </c:forTokens>

效果如下:

 

四、I18N 国际化

程序在不做任何修改的情况下,就可以在不同的地区和不同的语言环境下,按照当地的语言和格式习惯显示字符.

I18N 与格式化标签:

  1. setLocale  <fmt:setLocale>用于设置用户的本地语言环境,并将指定的Locale保存到javax.servlet.jsp.jstl.fmt.locale配置变量中去;
  2. setBundle  <fmt:setBudle>创建一个I18N本地上下文环境,加载资源包到上下文中,资源包的名字通过basename指定
  3. message    <fmt:message>从资源包中查找一个指定键的值,用于显示本地化的消息
  4. formatDate <fmt:formatDate>标签用于格式化日期
  5. formatNumber <fmt:formatNumber> 标签用于格式化数字,百分比,货币

常用的国际语言于国际语言代码:

 

重要代码如下:

<!-- 国际化输出  -->

    <fmt:setLocale value="en_US"/>

    <!-- 读取配置文件 -->

    <fmt:setBundle basename="applicationMessage" var="amg"/>

    <fmt:message key="name" bundle="${amg }"> </fmt:message>

 

    <%--<ftm:formatDate>标签用于格式化日期 --%>

    <h3>日期格式化</h3>

    <p>

     日期格式化(1):

         <fmt:formatDate type="time" value="${dateNow }" />

    </p>

 

<%--<fmt:formatNumber>标签用于格式化数字、百分比、货币 --%>

    <h3>数字格式化:</h3>

    <c:set var="balance" value="120000.2309"></c:set>

    <p>数字格式化1:

    <fmt:formatNumber type="currency" value="${balance }"></fmt:formatNumber>

    </p>

 

<fmt:setLocale value="en_US"/>美元

     <fmt:formatNumber value="${balance }" type="currency"></fmt:formatNumber>

     <br>

     <br>

     <fmt:setLocale value="zh_CN"/>人民币

      <fmt:formatNumber value="${balance }" type="currency"></fmt:formatNumber>

       <br>

效果如下:

 

<fmt:formatDate>的属性:

Value:要显示的日期;

Type:DATE, TIME, 或 BOTH;

DataStyle: FULL, LONG, MEDIUM, SHORT, 或 DEFAULT;

Pattern:自定义格式模式;

timeZone:要显示的时区;

var:存储格式化日期的变量名(显示在页面内)

scope:存储格式化日志变量的范围;

 

JSP标准标签库的标签很多,在这里是不可能一一列举完的,这只是比较常用的一部分,具体的可以参考Java WebTag;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值