170819-关于JSTL的知识点

1.JSTL(JSP Standard Tag Library)

[1] JSTL简介

> JSTL是JSP的标准标签库

> JSTL为我们提供了一些常用的标签,供我们日常开发使用(if 、 if...else 、遍历 、 日期格式化)

> 标签库

- core :核心标签库

- 最常用的一个标签库,也就是我们熟悉c标签。

- 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] 核心标签库

- 导入核心标签库    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

- 核心标签库一般使用c作为前缀,所以我们也称核心标签库为c标签。    - c标签是我们JSTL中最常用的一个标签库,它里边封装了很多开发中常用的功能。

c:out    作用:向页面中输入一个内容,一般要结合EL表达式使用!    例子:<c:out value="" default="" escapeXml=""></c:out>    属性:    value : 要输出内容    default : 当内容为空时显示的默认值    escapeXml : 是否自动转义特殊字符,默认值为true 自动转义,一般不修改该属性

c:set   作用:向域中设置一个属性   例子:<c:set var="name" value="孙悟空" scope="request"></c:set>   属性:    var :向域中存储的属性名    value :向域中存储的属性值    scope :向那个域中添加属性,四个可选值(page request session application),默认是page

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:when和c:otherwise不能脱离c:choose使用。

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标签,可以自动为地址拼接上请求参数。       注意:redirect标签会自动为我们设置项目名,不需要我们手动设置!

设置绝对路径的三种方式:

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 /> 去掉字符串的前后空格          剩下方法参照 alt+/

时间: 2024-10-16 21:10:40

170819-关于JSTL的知识点的相关文章

jsp与El,jstl知识点总结归纳

jsp与El,jstl知识点总结归纳 jsp部分 一.jsp的三大指令 page ,include,taglib 1.jsp中的page指令 <% page %>-设置jsp 例如: <%@ page language="Java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util

JSTL自定义标签

这节我们总结一下JSTL自定义标签相关内容. 1. 自定义标签简介 自定义标签主要用于移除JSP页面中的java代码.Jsp页面主要是用来显示给前台的,如果里面有过多的java代码的话,会显得很乱,但是没有java代码也无法获取相关数据或完成相关操作.那么这时候我们就可以自己定义一个标签,来完成需要用java代码完成的事情,这样Jsp页面就会清洁很多,可读性也更强.JSP中使用自定义标签移除只需要完成以下两个步骤: 1)编写一个实现Tag接口的java类(标签处理类): 2)编写标签库描述符(t

Jstl标签的使用

一. 配置 JSTL 包括两个 JAR 文件, jstl.jar 和 standard.jar .是什么没有必要管,重在应用( 1+1 ? =2 ,我们没有必要深究,只需要知道这么用就行.). 原文引入: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="sql" uri="http://java.su

java web简易网上书店项目系列,使用MVC模式(servlet+jstl+dbutils),开篇

一. 针对很多java web初学者入门困难的问题,笔者利用一个小型web项目,一步一步的展示java web开发方法,每一个章节引入一些java web开发的重点知识,让同学们可以将java web开发的知识点串联起来,学会综合运用. 对于初学者而言,代码示例是最好的教材,可能一遍看不懂,就多看几遍,相关知识点,如果本教程介绍的清楚的,请自行百度相关知识,或请教师友. 本项目采用的技术栈为: 0.简单html页面,无css,重在揭示servlet和数据库访问技巧 1.servlet 2.jsp

Java面试知识点总结(3)

96.阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet. 补充:Sun Microsystems公司在1996年发布Servlet技术就是为了和CGI进行竞争,Servlet是一个特殊的Java程序,一个基于Java的Web应用通常包含一个或多个Servlet类.S

JSTL(必会使用)

关键字: JSTL标签:<c:choose>.<c:forEach>.<c:forTokens>.<c:if>.<c:import>.<c:otherwise>.<c:out>.<c:param>.<c:redirect>.<c:remove>.<c:url>.<c:when>.<c:set>.<c:catch> JSTL它是什么? JSP

JSP页面开发知识点整理

刚学JSP页面开发,把知识点整理一下. ----------------------------------------------------------------------- JSP语法http://www.runoob.com/jsp/jsp-syntax.html <% 代码片段 %><% out.println("Hello World!"); %> <%! 变量声明 %><%! int i = 0; %> <%= 表

Java中SSM框架全面知识点,业务时间的精神食粮

------------------异常问题 :出现重复定义了访问路径java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'userController' bean method 406 请求头和响应头不匹配做ajax注册的时候 出现的问题 ClassNotFindException说明缺少jar包 或者名字写错 NoSuchBeanDefinitionException 如果BeanFactory在Sprin

H5移动端知识点总结

移动开发基本知识点 一. 使用rem作为单位html { font-size: 100px; }@media(min-width: 320px) { html { font-size: 100px; } }@media(min-width: 360px) { html { font-size: 112.5px; } }@media(min-width: 400px) { html { font-size: 125px; } }@media(min-width: 640px) { html { f