JSTL标准标签库

Posted 拿红罗卜钓鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSTL标准标签库相关的知识,希望对你有一定的参考价值。

根据 JSTL 标签所提供的功能,可以将其分为 5 个类别。
核心标签
格式化标签
SQL 标签
XML 标签
JSTL 函数
学习 jstl 主要学习两个 核心标签 、 jstl 函数
jsp: EL 表达式,也页面中输出内容或者设置内容;默认存在于 jsp 中,不需要导入第三方的 jar 包;
jstl 属于额外的拓展库,想要使用,需要导入第三方的 jar 包;
1.1 版本之前的 ; jstl.jar standard.jar
1.2 版本之后的 ; jstl1.2.jar
核心标签, core 通常被称为 c 标签
使用步骤:
1. 导入第三方 jar 包在程序中,并且加载进程序;
2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> uri
示要使用的标签库是哪一个, jsp 下面的 core 标签库, prefix 表示在页面中使用哪个标签来进行操作;
url: 资源路径, http://localhost:8080/index.jsp
uri: 全网唯一,使用网络端口进行匹配
3. 使用 <c:out /> 标签 向页面中输出内容
<c:out value="${username }" default="ls" /> 如果在域中找不到属性
username ,则默认显示 ls
4. 使用 <c:set /> 标签 向域中设置内容
两种使用方式:
1 、针对 String int boolean char 、集合类型 ( Map) 等,需要使用
<c:set value=" 张三丰 " var="username" scope="request" /> var
量只能修饰 以上几种类型;
value: 设置值 var: 设置数据的名称 scope: 设置保存的域
获取时: ${username }
2 JavaBean Map 类型 , 需要使用:
<c:set property="name" target="${student }" value="ww" />
种方式不能出现 var 以及 scope 属性
property: 设置 Javabean 的属性, setName() target: 用来从域中获
Javabean 对象的;
5. if 选择
<c:if test="boolean 类型表达式 " var="test 的结果保存变量名 " scope=" 设置 var
存的域值 " >
test true 时,显示的内容
</c:if>
6. if ... else if ... else ...
<c:choose> 表示 以下内容是一个 if else 语句
<c:when test="${name eq 'zs'}"> if(boolean 表达式 ){ 张三 }
张三
</c:when>
<c:when test="${name eq 'ww'}"> else if(boolean 表达式 ){ 王五 }
王五 </c:when>
<c:otherwise> else { 其他人 }
其他人
</c:otherwise>
</c:choose>
7. forEach 循环,增强 for 循环,
<c:forEach items=" 需要遍历的对象 " var=" 每次循环出来的内容 " begin=" 开始的下
" end=" 结束的下标 " step=" 每次增长下标的数量 " varStatus=" 循环的对象状态 ( 步长、开始下标、结
束下标、下标、是否第一、是否最后、总遍历数、当前元素 )">
${var 的值 }
</c:forEach>
8. <c:url value="index.jsp" var=" 将路径保存起来 " scope=" 保存的域 ">
用来设置 url 路径的,当 value 中不带 / 时,与直接使用相对路径用法一样,
当设置 / 时,用法不一样,会将当前的项目名称添加在 / 之前
<c:url value="/index.jsp"> --> web04/index.jsp
9. <c:redirect url=" 重新跳转的路径 " > 重定向 ,可以是本项目内的路径也可以是外部
资源路径
<c:redirect url="http://www.baidu.com" />
JSTL 函数 : funcation fn 标签
使用步骤:
1. 导入第三方 jar 包在程序中,并且加载进程序;
2. <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"
%>
3. 使用 fn 标签库,不是标签,而是在 el 表达式中使用
${fn: 函数名称 }
contains: 前一个字符串中,是否包含后一个字符串;
containsIgnoreCase: 前一个字符串中,是否包含后一个字符串 ( 忽略大小写的比较 )
startsWith: 前一个字符串,是否以后一个字符串开头
endsWith: 前一个字符串,是否以后一个字符串结尾
toLowerCase: 将字符串变成全小写;
toUpperCase: 将字符串变成全大写;
indexOf: 后一个字符串在前一个字符串的下标位置;如果没有这个字符串,就返回 -1
length: 表示字符串的长度,和中英文无关,只认个数
replace: 将第一个字符串中的内容,替换成另外内容
substring: 将第一个字符串,从开始位置,截取到结束位置 包头不包尾
join: 将一个数组,通过连接符,连接成一个字符串;
split: 将一个字符串,以某一个字符拆分为数组;

以上是关于JSTL标准标签库的主要内容,如果未能解决你的问题,请参考以下文章

JSP标准标签库:JSTL

JSP标准标签库:JSTL

JSP学习-标准标签库

Java学习标准标签库JSTL

JSTL标准标签库

JSP 标准标签库(JSTL)(JSP Standard Tag Library)