ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Web基础了解版08-JSTL-Core标签库

2021-04-15 11:02:05  阅读:134  来源: 互联网

标签:Web Core 标签 08 参数 字符串 返回值 作用 属性


JSTL

 JSP为我们提供了可以自定义标签库(Tag Library)的功能,用来替代代码脚本,Sun公司又定义了一套通用的标签库名为JSTL(JSP Standard Tag Library),里面定义很多我们开发中常用的方法

使用JSTL

  1.先引入JSTL标签库的jar包类库到WEB-INF/lib目录下

2.使用taglib指令导入需要的标签库

CORE 标签库<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>XML 标签库<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>FMT 标签库 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>SQL 标签库<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>FUNCTIONS 标签库 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

 3.使用JSTL

 如:<c:out value="hello"></c:out>

 即:调用前缀为c的标签的out方法,向页面中输出value属性中的字符串。

 Core标签库

<c:out>标签

作用:<c:out>用于计算一个表达式并将结果输出到当前页面。功能类似于JSP表达式<%= %>和EL表达式${}

属性:

属性作用参数类型
value要输出的值Object
default当value为null时显示的默认值Object
escaXml是否对特殊字符进行转义boolean
<c:out value="${user.name}" default="" escapeXml="true"></c:out>

<c:set>标签

作用:<c:set>标签 用于 添加 或 修改 域中的属性。

属性:

属性描述是否必要默认值
value要存储或修改的值主体的内容
target要修改的域中的对象(必须是JavaBean或者Map)
property指定要修改的对象的属性名
var表示域中存放的属性名
scopevar属性的作用域 (page , request , session ,application) ,若不指定则为pagepage

 如果指定了target属性,那么property属性也需要被指定。

<c:if>标签

作用:<c:if>标签 判断表达式的值,如果表达式的值为 true 则执行其主体内容。

属性:

属性描述是否必要默认值
test条件
var用于存储条件结果的变量
scopevar属性的作用域page

<c:choose>、<c:when>、<c:otherwise>标签

作用:

<c:choose>标签与Java switch语句的功能一样,用于在众多选项中做出选择。

switch语句中有case,而<c:choose>标签中对应有<c:when>,switch语句中有default,而<c:choose>标签中有<c:otherwise>。

属性:

<c:choose>标签没有属性。

<c:otherwise>标签没有属性。

<c:when>标签只有一个属性,如下:

属性描述是否必要默认值
test条件

<c:forEach>标签

作用:<c:forEach>标签是迭代一个集合中的对象-可以是数组,也可以是list,也可以是map对象。

属性:

属性描述是否必要默认值
items要被循环的数据集合-可以使用el表达式
begin开始的索引(0=第一个元素,1=第二个元素)0
end最后一个索引(0=第一个元素,1=第二个元素)Last element
step每一次迭代的步长1
var代表当前条目的变量名称
varStatus代表循环状态的变量名称

varStatus状态:

  • 作用:指定保存迭代状态的对象的名字,该变量引用的是一个LoopTagStatus类型的对象

  • 通过该对象可以获得一些遍历的状态

    • begin 获取begin属性里的值

    • end 获取end属性里的值

    • count 获取当前遍历的个数

    • index 获取当前索引值

    • first 获取是否是第一个元素

    • last 获取是否是最后一个元素

    • current 获取当前遍历的元素对象

<c:remove>标签

作用:用于移除域中的属性

属性:

属性作用参数类型
var设置要移除的属性的名字String
scope设置要移除属性所在的域,若不指定则删除所有域中的对应属性String

<c:url>标签

作用:主要用来重写URL地址

属性:

属性作用参数类型
value设置要处理的URI地址,注意这里要以/开头String
var修改后存储到域对象中的uri属性名String
scopel 设置修改后uri存放的域String

<c:redirect>标签

作用:用于将请求重定向到另一个资源地址

属性:

属性作用参数类型
uri指定要重定向到的目标地址,注意这里指定绝对路径会自动加上项目名String

JSTL函数

 函数标签库中定义的函数基本上都是对字符串的操作。

fn:contains和fn:containsIgnoreCase

 作用:用于判断字符串中是否包含指定字符串,containsIgnoreCase忽略大小写。

参数和返回值:

参数类型作用
stringString源字符串
subStringString要查找的字符串
返回值boolean若String中包含subString则返回true,否则返回false

fn:startsWith和fn:endsWith

作用:判断一个字符串是否以指定字符开头(startsWith)或结尾(endsWith)

参数和返回值:

参数类型作用
stringString源字符串
prefix 或 suffixString要查找的前缀或后缀字符串
返回值boolean符合要求返回true,否则返回false

fn:indexOf

作用:在一个字符串中查找指定字符串,并返回第一个符合的字符串的第一个字符的索引。

参数和返回值:

参数类型作用
stringString源字符串
subStringString要查找的字符串
返回值int若在string中找到subString则返回第一个符合的索引,若没有符合的则返回-1

fn:replace

作用:将一个字符串替换为另外一个字符串,并返回替换结果

参数和返回值:

参数类型作用
strString源字符串
beforeSubStringString被替换的字符串
afterSubStringString要替换的新字符串
返回值String替换后的字符串

fn:substring

作用:截取字符串

参数和返回值:

参数类型作用
strString源字符串
beginIndexint开始位置索引(包含该位置)
endIndexint结束位置索引(不包含自身)
返回值String返回截取的字符串

fn:substringBefore和fn:substringAfter

作用:返回源字符串中指定的子字符串之前(substringBefore)之后(substringAfter)的字符串

参数和返回值:

参数类型作用
strString源字符串
subStringString指定str中的一个子串,该串之前或之后的字符串将被返回。
返回值String返回截取的字符串

fn:split

作用:将一个字符串拆分成字符串数组。

参数和返回值:

参数类型作用
strString要被拆分的字符串
delimitersString指定根据什么内容拆分字符串
返回值String[]返回拆分后的字符串数组

fn:join

作用:将数组中所有元素连接成一个字符串

参数和返回值:

参数类型作用
strString[]要被连接的字符串数组
sparatorString在结果中每个元素之间的分隔符
返回值String拼接之后的结果

fn:toLowerCase和fn:toUpperCase

作用:将字符串都转换成大写(toUpperCase)或小写(toLowerCase)字符

参数和返回值:

参数类型作用
strString源字符串
返回值String转换为大写或小写的字符串

fn:trim

作用:去掉字符串的前后空格

参数类型作用
strString源字符串
返回值String去掉前后空格的结果

fn:length

作用:返回集合或者字符串的长度,此处为方法区别java中的lengh属性

参数和返回值:

参数类型作用
inputString、集合、数组要计算长度的目标
返回值int集合或字符串的长度


标签:Web,Core,标签,08,参数,字符串,返回值,作用,属性
来源: https://blog.51cto.com/u_7605937/2707662

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有