JSTL标签

mac2022-06-30  69

1.JSTL(JSP Standard Tag Library)     [1] JSTL简介 > JSTL是JSP的标准 标签库 > JSTL为我们提供了一些常用的标签,供我们日常开发使用(if 、 if...else 、遍历 、 日期格式化) > 标签库 - core : - 最常用的一个标签库,也就是我们熟悉 - fn :函数标签库 - 函数标签库它需要结合EL表达式使用,主要定义了一些字符串操作的方法。   - fmt :格式化标签库 - 主要用来做日期、数字的格式化以及国际化 - 20151019 2015/10/19 10/19/2015 - 10000 10,000   - sql : 数据库标签库 - 主要用来在JSP中操作数据库的,已淘汰   - xml : xml标签库 - 主要用来在JSP操作解析XML文档,已淘汰       > JSTL的使用 使用JSTL需要先导入两个jar包 taglibs-standard-impl-1.2.1.jar taglibs-standard-spec-1.2.1.jar   [2] 核心标签库 - 导入核心标签库   - 核心标签库一般使用c作为前缀,所以我们也称核心标签库为c标签。 - c标签是我们JSTL中最常用的一个标签库,它里边封装了很多开发中常用的功能。     c:out 作用:向页面中输入一个内容,一般要结合EL表达式使用! 例子: <c:out value="" default="" escapeXml=""></c:out> <c:out value="${index}"></c:out><br>

 

属性: value : 要输出内容 default : 当内容为空时显示的默认值 escapeXml : 是否自动转义特殊字符,默认值为true 自动转义,一般不修改该属性   c:set 作用:向域中设置一个属性 例子: <c:set var="name" value="孙悟空" scope="request"></c:set>

 

属性: var :向域中存储的属性名 value :向域中存储的属性值 scope :向那个域中添加属性,四个可选值(page request session application), c:remove   作用:移除域中的一个属性 例子: <c:remove var="name" scope="session"/>

 

属性: var :要移除的属性的名字 scope :要移除的属性所在的域,四个可选值(page request session application) 如果不设置该属性,则默认移除四个域中指定属性。   c:if 作用 :相当于java中if语句 例子: <c:if test="${empty param.name }"> <h3>您没有输入name属性!</h3> </c:if>

 

  属性: test :接收一个boolean类型的值 如果test的值为true则标签体执行 否则不执行标签体     c:choose c:when c:otherwise 作用:相当于if...else 例子: <c:choose> <c:when test="${param.score == 100 }"> <h3>恭喜您考了100分!</h3> </c:when> <c:otherwise> <h3>恭喜你,你不及格!</h3> </c:otherwise> </c:choose>

 

属性: when标签中的test属性: 接收一个boolean类型的值 如果test的值为true则标签体执行 否则不执行标签体   注 意:在choose标签中可以指定多个when标签,但是只有一个when会执行。 当所有的when标签都不执行时,则otherwise标签执行。       c:forEach 例子: <c:forEach items="${list}" var="hero"> ${hero} <br /> </c:forEach>

 

<c:forEach items="${map }" var="user"> ${user.key} --- ${user.value} <br /> </c:forEach>

 

属性: items:要遍历的集合 var:对集合中的对象引用的名字     注意:在遍历Map时,返回的是一组一组的键值对结构 我们可以通过对象.key获取键,通过对象.value获取值   作用:可以用来遍历一组数 例子: <c:forEach begin="1" end="20" var="index" step="1"> <a href=#>${index}</a> </c:forEach>

 

属性: begin :开始的位置,注意begin不能小于0 end :结束的位置 var :引用的名字 step :步长,每次自增的大小   c:url 作用:可以创建一个完整的绝对路径 例子: <c:url value="/index.jsp"> <c:param name="name" value="孙悟空"></c:param> <c:param name="age" value="18"></c:param> </c:url>

 

属性: value:要设置的地址,注意该地址要以/开头,否则不会加上项目名 在url标签中可以添加c:param标签,可以自动为地址拼接上请求参数。   c:redirect 作用:请求的重定向 例子: <c:redirect url="/index.jsp"> <c:param name="name" value="唐僧"></c:param> </c:redirect>

 

属性: url: 重定向到目标地址,注意该地址不要自己添加项目名。 在redirect标签中可以添加c:param标签,可以自动为地址拼接上请求参数。 1. <c:set var="ctx" value="${pageContext.request.contextPath }"></c:set>

 

使用这种方式,可以通过${ctx}在页面中代替项目名 2.使用 <c:url value="/index.jsp"></c:url>

 

使用url标签,它会自动为绝对路径加上项目名 3. <base href="http://${pageContext.request.serverName }:${pageContext.request.serverPort }${pageContext.request.contextPath }/" /> 使用base标签可以为页面中所有的相对路径,加上项目名 [3] 函数标签库 作用:函数标签库需要配合EL表达式使用,它里面的方法都是一些字符串的操作 引入函数标签库: <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>   例子:(对字符串操作)   ${fn:contains("hello","He") } <br /> 判断前一个字符串是否包含后一个字符串   ${fn:containsIgnoreCase("hello","He") } <br /> 判断前一个字符串是否包含后一个字符串,不区分大小写   ${fn:endsWith("hello","alo") }<br /> 判断前一个字符串是否以后一个字符串结尾   <!-- 自动将特殊字符转义 --> ${fn:escapeXml("<html></html>") }<br /> 自动将特殊字符进行转义   <!-- fn:join用于将一个String数组转换一个字符串,第二个参数代表的连接符 --> ${fn:join(strs,",") }<br /> 将一个String数组,以指定字符串拼接为一个新的字符串   ${fn:split("a,b,c,d,e",",")[2] }<br /> 将一个字符串,以指定字符拆分为一个字符数组   ${fn:trim(" abcd ") }<br /> 去掉字符串的前后空格  

 

转载于:https://www.cnblogs.com/Actexpler-S/p/7354980.html

相关资源:jstl标签在jsp中使用问题
最新回复(0)