JSP基础解析

  EL表达式      https://www.cnblogs.com/zhouguanglin/p/8117406.html

  EL(Expression Language) 是为了使JSP写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让Jsp的代码更加简化

  JSP中的注释(<%-- 内容 -- %>),指令(<%@ 指令名 %>),脚本(<% 脚本 %>),表达式(<%= 赋值结果 %>),声明(<%! 声明 %>),动作(<jsp:useBean />)

  C标签

  首先需要引入标签库和jar包

  <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

  1.基本语法:${标识符}

  2.基本运算符:

 

  empty运算符:检查对象是否为null(空)

  二元表达式:${user!=null?“yes” :"no"}

  3.常用标签

标签

描述

<c:out>

用于在JSP中显示数据,就像<%= ... >

<c:set>

用于保存数据

<c:remove>

用于删除数据

<c:catch>

用来处理产生错误的异常状况,并且将错误信息储存起来

<c:if>

与我们在一般程序中用的if一样

<c:choose>

本身只当做<c:when>和<c:otherwise>的父标签

<c:when>

<c:choose>的子标签,用来判断条件是否成立

<c:otherwise>

<c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行

<c:import>

检索一个绝对或相对 URL,然后将其内容暴露给页面

<c:forEach>

基础迭代标签,接受多种集合类型

<c:forTokens>

根据指定的分隔符来分隔内容并迭代输出

<c:param>

用来给包含或重定向的页面传递参数

<c:redirect>

重定向至一个新的URL.

<c:url>

使用可选的查询参数来创造一个URL

  一.条件运算符 

   ${user.gender==1?'男':'女'}

  二.if()

  <c:if test="${2>1}">code..</c:if>

  code会在test属性为true时执行

  三.if()-else{}

   <c:choose>

  <c:when test="${2>1}">code..</c:when>

  <c:otherwise>code..</c:otherwise>

   </c:choose>

  四.if()-else if()-else{}

  <c:choose>

  <c:when test="${2>1}">code..</c:when>

  <c:when test="${2>3}">code..</c:when>

  <c:otherwise>code..</c:otherwise>

  </c:choose>

  五.<c:forEach>标签具有以下一些属性:

l          var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。

l          items:要进行迭代的集合。对于它所支持的类型将在下面进行讲解。

l          varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。

l          begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。

l          end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。

l          step:迭代的步长。

  支持Java中的Map、List、Set、Iterator(迭代器)、Enumeration(枚举类型)、数组、用逗号定界的String(分割后的子字符串)、Result(SQL查询所获得的行)对List的取值

  1.使用${list1[1]}获取值

  2.使用jstl的<forEach>标签取值

  <c:forEach items="${list}" var="item">

        <c:out value="${item}"></c:out>

      </c:forEach>

  4、获得web开发常用对象

  EL表达式语言中定义了11个隐含对象,使用这些隐含对象可以很方便地获取web开发中的一些常见对象,并读取这些对象的数据。

  语法:${隐式对象名称}:获得对象的引用

序号

隐含对象名称

描       述

1

pageContext

对应于JSP页面中的pageContext对象(注意:取的是pageContext对象。)

2

pageScope

代表page域中用于保存属性的Map对象

3

requestScope

代表request域中用于保存属性的Map对象

4

sessionScope

代表session域中用于保存属性的Map对象

5

applicationScope

代表application域中用于保存属性的Map对象

6

param

表示一个保存了所有请求参数的Map对象

7

paramValues

表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[]

8

header

表示一个保存了所有http请求头字段的Map对象,注意:如果头里面有“-” ,例Accept-Encoding,则要header[“Accept-Encoding”]

9

headerValues

表示一个保存了所有http请求头字段的Map对象,它对于某个请求参数,返回的是一个string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]

10

cookie

表示一个保存了所有cookie的Map对象

11

initParam

表示一个保存了所有web应用初始化参数的map对象

  格式化标签

  JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下

  <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

标签

描述

<fmt:formatNumber>

使用指定的格式或精度格式化数字

<fmt:parseNumber>

解析一个代表着数字,货币或百分比的字符串

<fmt:formatDate>

使用指定的风格或模式格式化日期和时间

<fmt:parseDate>

解析一个代表着日期或时间的字符串

<fmt:bundle>

绑定资源

<fmt:setLocale>

指定地区

<fmt:setBundle>

绑定资源

<fmt:timeZone>

指定时区

<fmt:setTimeZone>

指定时区

<fmt:message>

显示资源配置文件信息

<fmt:requestEncoding>

设置request的字符编码

  SQL标签

  JSTL SQL标签库提供了与关系型数据库(Oracle,MySQL,SQL Server等等)进行交互的标签。引用SQL标签库的语法如下:

  <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>

标签

描述

<sql:setDataSource>

指定数据源

<sql:query>

运行SQL查询语句

<sql:update>

运行SQL更新语句

<sql:param>

将SQL语句中的参数设为指定值

<sql:dateParam>

将SQL语句中的日期参数设为指定的java.util.Date 对象值

<sql:transaction>

在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行

参考资料: http://www.runoob.com/jsp/jsp-tutorial.html

原文地址:https://www.cnblogs.com/zengming/p/8179833.html