`

JSTL基础

 
阅读更多

下载: 从Apache标准标记库和解压的压缩文件。

 

JSTL全名为JavaServer Pages Standard Tag Library。JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签函数库。

 

标签引用:

1、以classPath中,加入jar包:  standard-1.1.2.jar ,  jstl-1.1.2.jar

2、在相目\WEB-INF\tld\文件夹中放入常用的tld文件:c.tld,fmt.tld

3、在jsp文件的顶部加入以下内容:

Java代码  收藏代码
  1. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>   
  2. <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>  
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>  

 

核心JSTL标签:

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

功能上分为4类:
1.表达式控制标签:out、set、remove、catch
2.流程控制标签:if、choose、when、otherwise
3.循环标签:forEach、forTokens
4.URL操作标签:import、url、redirect

demo:

<c:out value="&lt要显示的数据对象(未使用转义字符)&gt" escapeXml="true" default="默认值"></c:out>  
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<jsp:useBean id="person" class="lihui.Person"></jsp:useBean>
  <c:set value="张三" var="name1" scope="session"></c:set>
<c:if test="条件1" var="name" [scope="page|request|session|application"]></c:if>

 

语法1:迭代一集合对象之所有成员

Html代码  收藏代码
  1. <c:forEach [var="varName"] items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>  
  2. 本体内容  
  3. </c:forEach>  

语法2:迭代指定的次数

Html代码  收藏代码
  1. <c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin" end="end" [step="step"]>  
  2. 本体内容  
  3. </c:forEach>  

 <c:forEach> 遍历 List列表:

 对于一个基本类型的数组,当前元素将作为相应包装类(Integer、Float等等)的一个实例提供。

<c:forEach items="${domainList }" var="item">  
<tr>  
  <td align="center" valign="middle">${item["domain"]==null?"&nbsp;":item["domain"]}</td>  
  <td align="center" valign="middle"><fmt:formatDate value="${item['bind_date']}" pattern="yyyy-MM-dd HH:mm:ss"/></td>  
  <td align="center" valign="middle">  
    <c:if test="${item['domain']!=null}">  
    <a href="javascript:;" id="${item['domain']}" class="del">&nbsp;</a>  
    </c:if>  
    </td>  
</tr>    
</c:forEach> 

 <c:forEach> 遍历Map:

 对于一个java.util.Map,当前元素则作为一个java.util.Map.Entry提供。

<c:if test="${!empty permissionMap}">    
<c:forEach items="${permissionMap}" var="item">  
<tr>  
    <td>${item.value.id}</td>  
    <td>${item.value.urlOnClass}</td>  
    <td>${item.value.urlOnMethod}</td>  
</tr>  
</c:forEach>  
</c:if>    

 

<c:forTokens items="stringOfTokens" delims="delimiters" [var="varName"]  
[varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>  
本体内容  
</c:forTokens>  

 

 

<c:import> 把其他静态或动态文件包含到 JSP 页面。与<jsp:include>的区别是后者只能包含同一个web应用中的文件,前者可以包含其他web应用中的文件,甚至是网络上的资源

<c:import url="url" [context="context"] [value="value"] [scope="..."] [charEncoding="encoding"]></c:import>

<c:redirect url="url" [context="context"]>
            <c:param name="name1" value="value1">
       </c:redirect>

 

 

格式化标签:

使用JSTL格式标签来格式化和显示文本,日期,时间和数字的,国际化的网站。以下是在您的JSP的语法,包括格式化库:

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

以下是格式化JSTL标签列表:

Tag Description
<fmt:formatNumber> To render numerical value with specific precision or format.
<fmt:parseNumber> Parses the string representation of a number, currency, or percentage.
<fmt:formatDate> Formats a date and/or time using the supplied styles and pattern
<fmt:parseDate> Parses the string representation of a date and/or time
<fmt:bundle> Loads a resource bundle to be used by its tag body.
<fmt:setLocale> Stores the given locale in the locale configuration variable.
<fmt:setBundle> Loads a resource bundle and stores it in the named scoped variable or the bundle configuration variable.
<fmt:timeZone> Specifies the time zone for any time formatting or parsing actions nested in its body.
<fmt:setTimeZone> Stores the given time zone in the time zone configuration variable
<fmt:message> To display an internationalized message.
<fmt:requestEncoding> Sets the request character encoding

SQL标签:

JSTL的SQL标签库标签可以交互关系型数据库(如Oracle,MySQL或Microsoft SQL Server的关系数据库管理系统)。

以下是在您的JSP语法包括JSTL SQL库:

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

以下是SQL JSTL标签的列表:

Tag Description
<sql:setDataSource> Creates a simple DataSource suitable only for prototyping
<sql:query> Executes the SQL query defined in its body or through the sql attribute.
<sql:update> Executes the SQL update defined in its body or through the sql attribute.
<sql:param> Sets a parameter in an SQL statement to the specified value.
<sql:dateParam> Sets a parameter in an SQL statement to the specified java.util.Date value.
<sql:transaction > Provides nested database action elements with a shared Connection, set up to execute all statements as one transaction.

XML 标签:

JSTL XML标记提供了一种创建和操作XML文档的JSP为中心的方式。以下是在您的JSP的语法包括JSTL XML库。

JSTL XML标记库具有自定义标签与XML数据交互。这包括XML解析,转换XML数据,流控制,基于XPath表达式。

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

在继续之前的例子中,将需要复制下面的两个XML和XPath相关的库到<Tomcat安装目录> 的\lib目录:

  1. XercesImpl.jar: 下载地址 http://www.apache.org/dist/xerces/j/

  2. xalan.jar: 下载地址 http://xml.apache.org/xalan-j/index.html

以下是XML JSTL标签列表:

Tag Description
<x:out> Like <%= ... >, but for XPath expressions.
<x:parse> Use to parse XML data specified either via an attribute or in the tag body.
<x:set > Sets a variable to the value of an XPath expression.
<x:if > Evaluates a test XPath expression and if it is true, it processes its body. If the test condition is false, the body is ignored.
<x:forEach> To loop over nodes in an XML document.
<x:choose> Simple conditional tag that establishes a context for mutually exclusive conditional operations, marked by <when> and <otherwise>
<x:when > Subtag of <choose> that includes its body if its expression evalutes to 'true'
<x:otherwise > Subtag of <choose> that follows <when> tags and runs only if all of the prior conditions evaluated to 'false'
<x:transform > Applies an XSL transformation on a XML document
<x:param > Use along with the transform tag to set a parameter in the XSLT stylesheet

JSTL 函数:

JSTL包括一些标准功能,其中大部分是常见的字符串操作函数。以下是在JSP的语法包函JSTL函数库:

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

以下是JSTL函数列表:

 

Function Description
fn:contains() Tests if an input string contains the specified substring.
fn:containsIgnoreCase() Tests if an input string contains the specified substring in a case insensitive way.
fn:endsWith() Tests if an input string ends with the specified suffix.
fn:escapeXml() Escapes characters that could be interpreted as XML markup.
fn:indexOf() Returns the index withing a string of the first occurrence of a specified substring.
fn:join() Joins all elements of an array into a string.
fn:length() Returns the number of items in a collection, or the number of characters in a string.
fn:replace() Returns a string resulting from replacing in an input string all occurrences with a given string.
fn:split() Splits a string into an array of substrings.
fn:startsWith() Tests if an input string starts with the specified prefix.
fn:substring() Returns a subset of a string.
fn:substringAfter() Returns a subset of a string following a specific substring.
fn:substringBefore() Returns a subset of a string before a specific substring.
fn:toLowerCase() Converts all of the characters of a string to lower case.
fn:toUpperCase() Converts all of the characters of a string to upper case.
fn:trim() Removes white spaces from both ends of a string.

 

转自:http://elf8848.iteye.com/blog/245559
 
 
分享到:
评论

相关推荐

    JSTL基础例子,有备注

    **JSTL的基础使用**主要包括以下几个方面: 1. **引入JSTL库**:首先需要在项目的类路径下添加`jstl.jar`和`standard.jar`两个库文件,它们提供了JSTL的实现。 2. **导入JSTL标签库**:在JSP页面中通过`...

    JSTL基础讲义ppt

    JSTL基础j讲义ppt

    JSTL基础讲义ppt2

    精彩的JSTL基础讲义ppt

    JSTL基础 JSTL简介.ppt

    JSTL,全称JavaServer Pages Standard Tag Library,是由JCP(Java Community Process)制定的一个标准规范,旨在为Java Web开发者提供一套通用的标准标签库。它的出现是为了改善Web应用程序的可读性、维护性和易用...

    JSTL基础知识

    JSTL基础知识详解,开发环境配置及标签使用等基础知识。

    jstl各种ppt文档

    在"第五章+JSTL基础.ppt"中,我们可以预见到会介绍JSTL的基础概念和核心组件。这通常包括以下几个方面: 1. **JSTL简介**:讲解JSTL的作用,以及它如何简化JSP页面的代码,减少Java脚本的使用。 2. **JSTL核心标签库...

    jstl基础入门

    1 jsp(java server page):是服务器端运行的JSP本身就是一个文档,不仅可以包含静态的HTML代码, 也可以包含动态的JAVA代码,服务器容器可以将JSP转换成Servlet发布,并接受请求......

    An Introduction To JSTL

    ### JSTL基础知识 #### 1. JSTL的出现背景 在JSTL出现之前,Servlet、JSP和JavaBeans是标准的Web应用程序开发技术。JSP页面通常会通过`&lt;jsp:useBean&gt;`标签来调用JavaBeans以执行业务逻辑。然而,这种做法存在一些...

    JSTL in Action

    ### JSTL in Action #### 关于本书 《JSTL in Action》是一本全面介绍JavaServer Pages Standard Tag Library...无论是希望了解JSTL基础知识还是寻求更高级的应用技巧,《JSTL in Action》都能提供宝贵的指导和支持。

    jstl基础知识

    jstl基本知识,基本语法,欢迎大家下载

    jstl资料与课件,和所需jar包

    - JSTL基础介绍:解释JSTL的概念和目标,以及它如何与JSP和Servlet协作。 - 核心标签的使用:演示如何在JSP页面中使用`&lt;c:if&gt;`、`&lt;c:forEach&gt;`等核心标签。 - JSTL与EL的结合:讲解如何通过EL表达式获取和设置数据,...

    jstl fun函数 jsp-页面处理

    1. **JSTL基础**:了解JSTL的构成,包括Core、XML、Functions、Format和JDBC等核心标签库,以及它们各自的作用。 2. **JSTL标签**:如`&lt;c:if&gt;`、`&lt;c:forEach&gt;`、`&lt;fmt:formatDate&gt;`等,学习如何使用这些标签进行...

    jstl1.1和jstl1.0

    JSTL1.1是针对Tomcat5.x版本设计的,它在JSTL1.0的基础上进行了一些改进和增强。这个版本引入了对JSP 2.0规范的支持,包括对EL (Expression Language) 的完全支持。EL是一种轻量级的脚本语言,用于在JSP页面中表达和...

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

    1. **Core标签库**:这是JSTL最基础的部分,包含了一系列处理页面流程控制、条件判断、迭代等任务的标签。例如`&lt;c:if&gt;`用于条件判断,`&lt;c:forEach&gt;`用于遍历集合,`&lt;c:choose&gt;`、`&lt;c:when&gt;`和`&lt;c:otherwise&gt;`用于多...

    jstl标签基础+例子

    ### JSTL 标签库基础与实例解析 #### JSTL 标签库简介 JSTL(JavaServer Pages Standard Tag Library)是为简化JavaServer Pages (JSP) 页面开发而设计的一组标准标签库。它提供了一系列的标签来执行常见的页面处理...

    jstl和el的基础

    【JSTL与EL基础详解】 JSTL(JavaServer Pages Standard Tag Library)和EL(Expression Language)是Java Web开发中的两个重要组件,主要用于增强JSP页面的功能和可读性。JSTL是一组标签库,提供了处理常见任务如...

    jstl学习大全,jstl源码,很全的jstl学习代码

    Core库是JSTL中最基础的部分,包含了很多用于控制流程、处理URL、输出内容等的标签。例如: - `&lt;c:if&gt;`:条件判断 - `&lt;c:choose&gt;`、`&lt;c:when&gt;`、`&lt;c:otherwise&gt;`:多条件选择 - `&lt;c:forEach&gt;`:循环遍历 - `&lt;c:set&gt;`...

Global site tag (gtag.js) - Google Analytics