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

JSP基础解析的更多相关文章

  1. 解读JSP的解析过程

    解读JSP的解析过程 互联网上,这方面的资料实在太少了,故把自己研究的一些结果公布出来. 首先,问大家几个问题,看大家能不能回答出来,或者在网上能不能找到答案: 1.page.include.tagl ...

  2. JavaWeb基础-Jsp基础语法

    jsp基础语法 JSP的组成 静态内容.指令.表达式.小脚本.声明.注释 JSP的生命周期 用户发出index.jsp ,服务端判断是否是第一次请求,若是第一次请求,则tomcat中的JSP引擎中的文 ...

  3. Jsp基础语法(由简入杂)

    JSP基础语法 一,JSP简介 Jsp是一个简化的Servlet设计,是在服务器端执行,他实现了再Java中使用HTML标签. Jsp是一种动态网页技术标准也是JAVAEE的标准 二,常见动态网站开发 ...

  4. Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识

    JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 ...

  5. Servlet&jsp基础:第五部分

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  6. 解决JSP 不解析EL表达式

    解决JSP 不解析EL表达式,jsp在使用EL表达式的时候发现它不被解析,而是直接以字符串的形式显示了出来,经过查阅资料和实践,终于得知了原因并找到了解决方案 原因是:在默认情况下,Servlet 2 ...

  7. JavaEE系列之(一)JSP基础知识详解

    一.JSP基础语法     1.JSP简介        JSP(Java Server Pages),其根本是一个简化的Servlet设计,它实现了在Java中使用HTML标签.JSP是一种动态网页 ...

  8. JSP基础笔记

    主要内容:1. JSP基础2. Cookie3. HttpSession ================================ JSP基础 1. jsp的作用: * Servlet: &g ...

  9. javaEE与JSP基础

     JSP基础 1. jsp的作用:  * Servlet:    > 缺点:不适合设置html响应体,需要大量的response.getWriter().print("<html ...

随机推荐

  1. nginx ssi + ngx_pagespeed 实现micro frontends 开发

    nginx 的ssi 功能让我们可以将不同的拼接起来,ngx_pagespeed 是pagespeed 的nginx 模块,可以帮助 我们解决前端的一些性能优化的问题,通过简单的配置就可以搞定 一张参 ...

  2. windows 8,关闭随意窗体都提示“已停止工作”的解决的方法

           电脑用的好好的,突然出现了关闭随意窗体都提示"已停止工作",每次都是这样.想想也就是偶尔优化一下,近期也没有改动过什么系统设置呀,突然想到昨晚JLink_V8固件丢失 ...

  3. Unity 3D UI Essentials 学习

    Chapter 1: Looking Back,LookingForward Chapter 2: Building Layouts Chapter 3: Control, Control, You ...

  4. C 语言中的 switch 语句 case 后面是否需要加大括号

    事件原由为编辑器的自动缩进,当 case 换行后不自动缩进. 于是在在想可以可否在 case 后面再大括号,让其自动缩进. 查了资料,发现 case 是可以加大括号的,相当于代码块. 而且还有另外一个 ...

  5. springboot获得应用上下文

    有的兄弟说需要在启动类中注入,但我暂时不用

  6. 修改 spawn node.exe" ENOENT at notFoundError问题

    Ionic server启动后,出现spawn node.exe" ENOENT at notFoundError ...\node_modules\cross-spawn\lib\enoe ...

  7. Linux split命令详解

    Linux split命令 Linux split命令用于将一个文件分割成数个.该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件. 将输入内容拆分为固定大小的分片并输出到 ...

  8. SpringBoot进阶之web进阶

    1.表单验证: 实体类添加: @Min(value = 18 ,message = "未成年少女禁止入内!")最小值限制为18,如果小于18则返回message中的信息 注入校验, ...

  9. 多层级sql查询

    SELECT ( SELECT ) FROM t_app_user WHERE parent_user_id = t.user_id /*多层级,t.user_id */ ) AS directCou ...

  10. python re 实例

    #!/usr/bin/env python#_*_coding:utf-8_*_ import reimport timeimport jsonimport MySQLdbimport context ...