|
A.简介:
JSTL包括5类标准标记库:
(1) 核心标签库
URI:http://java.sun.com/jsp/jstl/core
prefix:c
(2) XML标签库
URI:http://java.sun.com/jsp/jstl/xml
prefix:x
(3) 格式标签库
URI:http://java.sun.com/jsp/jstl/fmt
prefix:fmt
(4) SQL标签库
URI:http://java.sun.com/jsp/jstl/sql
prefix:sql
(5) 函数标签库
URI:http://java.sun.com/jsp/jstl/fn
prefix:fn
B.使用:
1.判断list或集合是否为空
a.表示判断不为空
<c:if test="${!empty merchant}></c:if>
b.判断为空
<c:if test="${empty merchant}></c:if>
2.设置变量
a.定义初始化值,值的范围为request中
<c:set var="total" scope="request">0</c:set>
b.<c:set var="total" scope="request"><cut value='${total+list.addSaleAmt}' /></c:set>
3.迭代集合(如List,Map,Set)相当java中的for循环和while
<c:forEach var="list" items="${merChantList}" varStatus="ss1">
${ list .name}
</c:forEach>
表示:<c:forEach var="变量" items="集合对象" begin="开始值" end="结束值" step="步长" varStatus="varStatus对象名">
a.list相当对象,merChantList是个集合, ss1是索引对象如果须知道当前记录在集合中的索引可以通过${ss1.index}取到
b.${fn:length(list.statisticsBean) }相当list.size可以直接取到当前集合的大小
c. ${fn:length(list)}可以得到记录的列数
4.url
a. <c:url value='/acqVol/subordinateMerBean.action'/>
5.去空格
${fn:trim(mrs[1])}
6.运算符
加( + ),减( - ),乘( * ),除 ( / )
7. 逻辑运算符
或(“||”,“or”),与(“&&”)相当sql中的and,不等(“!”或 not)
8. 关系运算符
==(或 eq)、!=(或 ne)、<(或 lt)、>(或 gt)、<=(或 le)和 >=(或 ge)
9.数值判断
a.<c:if test="${parameter['industry'][0]!='5'}"></c:if>
表示parameter['industry'][0]不等于5
b. <c:if test="${parameter['industry'][0] eq '5'}"></c:if>
和上面a的意思一样,eq相当于JAVA中的equals
c.<c:if test="${parameter['industry'][0] nq '5'}"></c:if>
和上面a的意思一样,eq相当于JAVA中的!equals
10.标签引用
1.web.xml添加
<jsp-config>
<taglib> <taglib-uri>http://java.sun.com/jsp/jstl/format</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
</jsp-config>
2.页面调用
HTML引入:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
11.
fn:contains 判断字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, searchString)}">
fn:containsIgnoreCase 判断字符串是否包含另外一个字符串(大小写无关) <c:if test="${fn:containsIgnoreCase(name, searchString)}">
fn:endsWith 判断字符串是否以另外字符串结束 <c:if test="${fn:endsWith(filename, ".txt")}">
fn:escapeXml 把一些字符转成XML表示,例如 <字符应该转为< ${fn:escapeXml(param:info)}
fn:indexOf 子字符串在母字符串中出现的位置 ${fn:indexOf(name, "-")}
fn:join 将数组中的数据联合成一个新字符串,并使用指定字符格开 ${fn:join(array, ";")}
fn:length 获取字符串的长度,或者数组的大小 ${fn:length(shoppingCart.products)}
fn:replace 替换字符串中指定的字符 ${fn:replace(text, "-", "•")}
fn:split 把字符串按照指定字符切分 ${fn:split(customerNames, ";")}
fn:startsWith 判断字符串是否以某个子串开始 <c:if test="${fn:startsWith(product.id, "100-")}">
fn:substring 获取子串 ${fn:substring(zip, 6, -1)}
fn:substringAfter 获取从某个字符所在位置开始的子串
${fn:substringAfter(zip, "-")}
fn:substringBefore 获取从开始到某个字符所在位置的子串 ${fn:substringBefore(zip, "-")}
fn:toLowerCase 转为小写 ${fn.toLowerCase(product.name)}
fn:toUpperCase 转为大写字符 ${fn.UpperCase(product.name)}
fn:trim 去除字符串前后的空格 ${fn.trim(name)} |
|