`
zpball
  • 浏览: 914903 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSTL的使用

阅读更多
JSTL是什么
JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL1.0 由四个定制标记库(core、format、xml 和 sql)和一对通用标记库验证器组成。core 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。它还提供了用来生成和操作 URL 的标记。format 标记库定义了用来格式化数据(尤其是数字和日期)的操作。它还支持使用本地化资源束进行JSP页面的国际化。xml 库包含一些标记,这些标记用来操作通过XML表示的数据,而 sql 库定义了用来查询关系数据库的操作。 两个 JSTL 标记库验证器允许开发人员在其 JSP 应用程序中强制使用编码标准。

如果要使用JSTL,则必须引用jstl.jar和 standard.jar两个包。



为什么要用JSTL
我们JSP用于开发信息展现页非常方便;也可以嵌入java代码(scriptlet、表达式和声明)代码用来实现相关逻辑控制。看下面程序。但这样做会带来如下问题:
jsp维护难度增加;
出错提示不明确,不容易调试;
分工不明确;(即jsp开发者是美工,也是程序员);
最终增加程序的开发成本;
解决上面的问题可以使用定制标记库,JSTL使JSP开发者可以减少对脚本元素的需求,甚至可以不需要它们,从而避免了相关的维护成本。使分工更明确。

<% if (session.getAttribute(“user”).equals(“member”)) { %>
<p>Welcome, member!</p>
<% } else { %>
<p>Welcome, guest!</p>
<% } %>

JSTL一般配合EL一起使用,因此先看看EL.


JSTL部署
在EE应用程序中部署JSTL有两种方式:
已存在的工程上部署
将jstl.jar和standard.jar两个包考到现有工程
WebRoot / WEB-INF / lib 目录下
将相关的 .tld文件考到现有工程 WebRoot / WEB-INF 目录下;

也可通过eclipse在已存在
工程上部署
新建工程的时候直接部署


在JSP使用JSTL-core标签库
core在jsp中的使用:
在 web.xml 中添加
<jsp-config>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
</jsp-config>

在jsp文件中添加
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>或<%@ taglib prefix="c" uri="/WEB-INF/c.tld" %>
使用<c:out value=“HelloWorld” />


Core的操作作用域变量标签
获取输出作用域中变量.
<c:out > 属性: value [default] [escapeXml]
定义作用域中变量
<c:set > 属性: value var [scope]
删除作用域中变量
<c:remove > 属性: var [scope]

Core的条件控制标签
单分支条件
<c:if > 属性:test [var] [scope]
多分支条件
<c:choose >
<c:when > 属性: test
<c:otherwise >


Core的其它标签
输出转换成的URL:
<c:url > 属性:value [context] [var] [scope]
和<jsp:include >相似用于包含其它页面的内容:
<c:import >属性:url [context] [charEncoding] [var] [scope]
重定向
<c:redirect >属性: url [context]
与<c:url><c:import><c:redirect>配合使用,用于传参
<c:param >属性: name value

Core的循环控制标签
实现简单循环
<c:forEach > var='item' begin='5' end='10' step='2‘ varStatus=‘’
实现迭代(遍历)
<c:forEach > items='' var='item‘ varStatus=‘’

属性varStatus和var相似设置一个作用域变量;只是varStatus作用域变量中存的是包括运行状态的对象;此对象包含如下属性:
current index count first last begin end step


简单循环
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@ taglib prefix="c" uri="/WEB-INF/c.tld" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>testjstl1</title>
</head>
<body>
<c:forEach var="i" step="1" begin="1" end="100">
${i} <br>
</c:forEach>
</body>
</html>



循环迭代
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@ taglib prefix="c" uri="/WEB-INF/c.tld" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>testjstl1</title>
</head>
<body>
<c:forEach var="mcBean" items="${mcList}" varStatus="mcStatus">
当前遍历索引:${mcStatus.index} ; 商品名:${mcBean.sname} ; .... <br>
</c:forEach>
</body>
</html>



在JSP使用JSTL-format标签库
format在jsp中的使用:
在 web.xml 中添加
<jsp-config>
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
</jsp-config>

在jsp文件中添加
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
使用
<fmt:formatDate value=“” pattern=“yyyy-MM-dd” />


Format常用标签
格式化输出日期:
<fmt:formatDate > value type var pattern
type取值:
short: 10/19/00 6:07 PM
medium: Oct 19, 2000 6:07:01 PM
long: October 19, 2000 6:07:01 PM MDT
full: Thursday, October 19, 2000 6:07:01 PM MDT
例: <fmt:formatDate value=“” pattern=“yyyy/MM/dd” />
格式化输出数字:
<fmt:formatNumber> value var pattern
例:<fmt:formatNumber value=“” pattern=“###.##” />

format实例
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@ taglib prefix="fmt" uri="/WEB-INF/fmt.tld" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>testjstl1</title>
</head>
<body>
<jsp:useBean id="curDate" class="java.util.Date" scope="page"/>
<fmt:formatDate value="${curDate}" pattern="yyyy-MM-dd HH:mm:ss"/><br>

<fmt:formatNumber value="10.32898432" pattern="#.##"/><br>
<% request.setAttribute("var1",3.1415926); %>
<fmt:formatNumber value="${var1}" pattern="#.##"/><br>
</body>
</html>
分享到:
评论

相关推荐

    JSTL使用手册

    ### JSTL使用手册 #### 一、JSTL概览与重要性 JSTL(JSP Standard Tag Library)是一种用于简化JSP(JavaServer Pages)开发的技术,旨在通过一组标准化的标签来减少页面中Java代码的数量,提高可读性和可维护性。...

    jstl使用xml出错

    本文将深入探讨“jstl使用xml出错”这一问题,以及如何解决相关问题。 首先,要正确使用JSTL处理XML,你需要确保在项目中包含三个关键的JAR文件: 1. **xalan.jar**:这个文件包含了XSLT处理器,用于将XML转换为...

    JSTL使用手册 帮助文档

    这个"JSTL使用手册 帮助文档"涵盖了JSTL的核心概念、使用方法和实例,旨在帮助开发者更深入地理解和运用这一强大的工具。 JSTL的核心组成部分包括Core(核心)、XML、Internationalization(国际化)、Function...

    EL和JSTL使用详解

    ### EL和JSTL使用详解 #### 一、EL(Expression Language)介绍及使用方法 EL,即Expression Language,是一种简化了JSP页面中的Java代码编写的一种表达式语言。它主要用于获取存储在JSP页面作用域中的数据对象,...

    jstl使用所需jar包

    **JSTL(JavaServer Pages Standard Tag Library...同时,`jstl.jsr standard.jar` 和 `jstl.jar` 是使用JSTL所必需的库文件,它们包含了JSTL的实现和标准标签库,而`APACHE_LICENSE.TXT` 则揭示了其开源许可证的细节。

    jstl 使用文档方便你快速入门 ,能够快速上手使用JSTL技术.pdf

    **JSTL(JSP Standard Tag Library)**是Java服务器页面(JSP)的一个扩展,旨在简化JSP页面的开发,通过提供一组预定义的标签,使得开发者可以在不使用脚本语言的情况下处理业务逻辑。JSTL的出现是为了替代JSP页面...

    jstl使用jar包1.0版本吧

    **JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它为JSP页面提供了一套方便使用的标签,使得开发者能够更高效、更简洁地编写JSP代码。JSTL 1.0版本是较早的一个稳定版本,...

    JSTL使用项目和lib资源

    **JSTL(JavaServer Pages Standard Tag Library)**是Java EE平台中用于增强JSP页面功能的一组标准标签库,它允许开发者使用更简洁、更易于维护的方式编写JSP页面,减少页面中的Java脚本。JSTL的核心库主要包含了...

    jstl使用的两个jar包

    在Java Servlet和JSP开发中,JSTL(Java...使用JSTL时,首先需要在JSP页面上引入JSTL库,这通常通过在页面指令中声明`taglib`来完成: ```jsp &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt; ...

    jstl的使用有关JSTL的用法详解

    - **jstl的使用.txt**:更深入的JSTL使用指南,包括各种标签的详细用法和示例。 - **Ext.MessageBox.Show()属性.txt**:ExtJS的弹出对话框,JSTL无法直接处理,但前后端交互时可能会用到。 - **CDATA的使用.txt**:...

    一个jstl使用的例子_经典

    JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。在JSP 2.0中也...

    JSTL使用-130828

    这是一份JSP标准标签库的使用介绍,能够让大家给好的学习JSTL的使用。

    jstl帮助 jstl帮助手册 jstl帮助文档

    在这个压缩包中,`jstl帮助`可能包含了详细的JSTL使用教程、API参考、示例代码等内容。开发者可以通过阅读这些资料,了解每个标签的功能、用法以及注意事项,从而更好地将JSTL应用于实际项目中,提高开发效率。对于...

    jstljar包包含jstl.jar和standard.jar文件

    **JSTL与EL的协同工作**:虽然EL可以独立于JSTL使用,但两者结合使用能发挥更大的效能。JSTL的标签可以接收EL表达式作为参数,使得页面逻辑更加简洁。例如,`&lt;c:choose&gt;`标签可以配合EL来做出基于变量值的条件判断。...

    JSTL使用及配置手册

    JSTL,全称为JSP Standard Tag Library,是Java服务器端的一个强大工具,它提供了一系列预定义的标签,用于简化JSP页面的开发。JSTL的主要目标是减少在JSP...正确配置和使用JSTL,能够使得JSP应用更加整洁、易于维护。

    JSTL标签的使用手册、jar包、源码、doc文档

    **JSTL使用手册:** 这份PDF文档提供了JSTL的详细使用指南,包括每个标签的用法、属性和示例,是学习JSTL的重要参考资料。它会帮助开发者快速上手,了解如何在实际项目中应用JSTL标签。 **Doc文档:** 通常,`doc...

    jstl开发使用手册

    ### JSTL开发使用手册概览与核心知识点 #### JSTL简介 JSTL(JavaServer Pages Standard Tag Library)是一种标准的标签库,旨在简化JavaServer Pages (JSP) 页面的开发。它提供了一系列预定义的标签,帮助开发者...

Global site tag (gtag.js) - Google Analytics