jstl之c标签、Function函数库
来源:互联网 发布:正版广联达预算软件 编辑:程序博客网 时间:2024/05/21 19:37
JSTL组成:
JSTL –Core 核心标签库。 - 这是本部分的重点
JSTL – I18N - 国际化标签库。Internationalization- I18N
JSTL - Functions – 函数库。
JSTL – SQL – 数据库操作标签(有悖于MVC设计模式不用不讲)。
JSTL - XML ,对XML的操作(同SQL标签)。
JSTL一般必须配合EL表达式使用才能发挥其功能之强大
如果你的Web项目是基于JavaEE2.5或以上的。可以在你项目的任意页面上通过<%@ taglib 指令使用JSTL的核心标签库。
<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c”%>
uri是引用标签库的资源定位符,并不代表一个实际的地址。
Prefix是自定义的前缀。
JSTL-Core一共包含以下几个子标签:
标签的具体使用说明可以用Java反编译软件JD-GUI打开tomcat/webapps下的对应项目下的WEB-INF/LIB/jstl-impl.jar/META-INF找到对应的标签打开即可。
具体使用代码示例如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>jstl演示</title> </head> <body> <!-- 1、演示c:out的用法 --> <% pageContext.setAttribute("RED", "<font color='red'>你好</font>"); %> <c:out value="${RED }" /> <%--结果为:<font color='red'>你好</font>,escapeXml默认为true,即默认输出为原样格式 --%> <br/> <c:out value="${RED }" escapeXml="false" /> <%--结果为:红色的“你好” --%> <br/> <c:out value="${GREEN }" escapeXml="false" default="找不到"/> <%--结果为:找不到 ”/>从page到application开始查找,如果没有找到,就显示默认值“找不到” --%> <br/> <!-- 2、演示c:set的用法 --> <c:set var="name" value="Jack" /> ${name } <%--结果为:Jack --%> <br/> <jsp:useBean id="user" class="cn.hncu.domain.User"/> <c:set target="${user }" property="name" value="Tom"/> <c:set target="${user }" property="age" value="24"/> ${user.name } ${user.age } <%--结果为:Tom 24 --%> <br/> <jsp:useBean id="map" class="java.util.HashMap" scope="request"/> <c:set target="${map }" property="name" value="张三" /> <c:set target="${map }" property="sex" value="男" /> ${map.name } ${map.sex } <%--结果为:张三 男 --%> <br/> <!-- 3、演示c:if的用法 --> <c:if test="${map.name=='张三' }" var="boo" scope="request" > abcdefg </c:if> <c:if test="${!boo }"> gfdecba </c:if> <%--结果为:abcdefg,注意此处因为有包含关系,c:if不能用自封闭--%> <br/> <!-- 4、演示c:choose c:when c:otherwise的用法 --> <c:set var="score" value="95"/> <c:choose> <c:when test="${score>90 }"> 优秀 </c:when> <c:when test="${score>80 }"> 良好 </c:when> <c:when test="${score>70 }"> 中等 </c:when> <c:otherwise> 不行 </c:otherwise> </c:choose> <%-- 结果为:优秀 此处功能相当于带break功能的switch-case语句 --%> <br/> <!-- 5、演示c:remove --> <c:set var="aaa" value="abcde" /> <c:remove var="aaa"/> ${aaa } <%-- 没有输出结果,因为移除了aaa属性 --%> <br/> <!-- 5、演示c:import --> <c:import url="/jsps/aa.jsp"></c:import> <%-- 此处有两个细节,url的第一个"/"代表项目根本目录,功能上此处相当于jsp动态导入, 两个页面共享同一个request --%> <br/> <%-- <!-- 6、演示c:redirect --> <c:redirect url="/jsps/bb.jsp"/> --%> <%-- 重定向,相当于response.sendRedirect(...) --%> <!-- 7、演示c:rforTokens --> <c:forTokens items="aa,bb,cc,dd" delims="," var="x"> ${x },,, </c:forTokens> <%-- 结果为:aa,,, bb,,, cc,,, dd,,,,相当于拆分字符串 --%> <br/> <!-- 8、演示c:forEach --> <% String strs[] = {"11","22","33","44","55"}; pageContext.setAttribute("strs", strs); %> <c:forEach items="${strs}" var="str"> ${str }- </c:forEach> <%-- 结果为:11-22-33-44-55,功能相当于增强for循环 --%> <c:forEach begin="20" end="40" step="2" var="i" varStatus="x"> ${i },${x.index },${x.count }<br/> </c:forEach> <%-- 功能相当于普通for循环 --%> </body></html>
jstl的Function函数调用方式:
用之前现在页面首部导入标签<%@taglib uri=”http://java.sun.com/jsp/jstl/functions” prefix=”fn”%>
引用:${fn:函数名(参数)}
function标签库函数使用:
1:${fn:contains(name, searchString)} name变量的字符串值是否包含searchString子串,返回boolean值
2:${fn:containsIgnoreCase(name, searchString)} 与1相同+忽视大小写
3:${fn:endsWith(filename, “.txt”)} 判断filename是否以.txt子串结束 ,返回boolean值
4:${fn:escapeXml(param:info)} Escapes characters that could be interpreted as XML markup.返回string值
5:
7:${fn:length(shoppingCart.products)} shoppingCart.products变量的长度,返回int值
8:${fn:replace(text, “-“, “•”)} 将text中的-字符串用•字符串代替,返回行的字符串String值
9:${fn:split(customerNames, “;”)} 将customerNames用;分割,返回字符串数组
10:${fn:startsWith(product.id, “100-“)} 判断product.id是否以100-子串开头 ,返回boolean值
11:${fn:substring(zip, 6, -1)} 截取zip的子串,从下标为6 到length-1(不包含)的子串,返回子串String值
12:${fn:substringAfter(zip, “-“)} 将zip中 从 第一次出现-字符串的下标 到最后 截取成子串,返回子串String值
13:${fn:substringBefore(zip, “-“)} 将zip中 从下标0 到 第一次出现-字符串的下标 (不包含) 截取成子串,返回子串String值
14:${fn.toLowerCase(product.name)} 将product.name全部字母转换成小写,返回新的String值
15:${fn.UpperCase(product.name)} 将product.name全部字母转换成大写,返回新的String值
16:${fn.trim(name)} name前后空格去掉,返回新的String值
- jstl之c标签、Function函数库
- JSTL之c标签
- JSTL之c标签
- JSTL之c标签
- JSTL之C标签
- 自定义JSTL标签库(函数库)
- JSTL function 标签 使用
- JSTL function 标签 使用
- JSTL function标签使用
- JSTL function 标签 使用
- JSTL-Function标签
- JSTL function 标签 使用
- JSTL function 标签 使用
- jstl c标签之迭代标签
- JSTL标签之<c:if>标签
- JSTL标签之<c:choose><c:when><c:otherwise>标签
- Android学习笔记(四十六):JSTL标签函数库
- JSTL 自定义Function函数标签
- WindowsNT下强杀tomcat进程
- SVN冲突类型及解决办法
- directx3d渲染管线说明
- 内核Kconfig详尽分析
- 原生ajax和jquery ajax的使用
- jstl之c标签、Function函数库
- 线段树查询 II
- Kotlin基础(一)android studio中配置Kotlin
- StringBuffer的替换功能,反转,截取
- 杭电oj——1002 A + B Problem II
- Convolutional neural networks(CNN) (五) PCA in 2D Exercise
- 2048--神、上帝以及老天爷
- 杭电ACM—HDU 1002 A + B Problem II
- 数组总结