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.常用标签
标签 |
描述 |
用于在JSP中显示数据,就像<%= ... > |
|
用于保存数据 |
|
用于删除数据 |
|
用来处理产生错误的异常状况,并且将错误信息储存起来 |
|
与我们在一般程序中用的if一样 |
|
本身只当做<c:when>和<c:otherwise>的父标签 |
|
<c:choose>的子标签,用来判断条件是否成立 |
|
<c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行 |
|
检索一个绝对或相对 URL,然后将其内容暴露给页面 |
|
基础迭代标签,接受多种集合类型 |
|
根据指定的分隔符来分隔内容并迭代输出 |
|
用来给包含或重定向的页面传递参数 |
|
重定向至一个新的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" %>
标签 |
描述 |
使用指定的格式或精度格式化数字 |
|
解析一个代表着数字,货币或百分比的字符串 |
|
使用指定的风格或模式格式化日期和时间 |
|
解析一个代表着日期或时间的字符串 |
|
绑定资源 |
|
指定地区 |
|
绑定资源 |
|
指定时区 |
|
指定时区 |
|
显示资源配置文件信息 |
|
设置request的字符编码 |
SQL标签
JSTL SQL标签库提供了与关系型数据库(Oracle,MySQL,SQL Server等等)进行交互的标签。引用SQL标签库的语法如下:
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
标签 |
描述 |
指定数据源 |
|
运行SQL查询语句 |
|
运行SQL更新语句 |
|
将SQL语句中的参数设为指定值 |
|
将SQL语句中的日期参数设为指定的java.util.Date 对象值 |
|
在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行 |
参考资料: http://www.runoob.com/jsp/jsp-tutorial.html
JSP基础解析的更多相关文章
- 解读JSP的解析过程
解读JSP的解析过程 互联网上,这方面的资料实在太少了,故把自己研究的一些结果公布出来. 首先,问大家几个问题,看大家能不能回答出来,或者在网上能不能找到答案: 1.page.include.tagl ...
- JavaWeb基础-Jsp基础语法
jsp基础语法 JSP的组成 静态内容.指令.表达式.小脚本.声明.注释 JSP的生命周期 用户发出index.jsp ,服务端判断是否是第一次请求,若是第一次请求,则tomcat中的JSP引擎中的文 ...
- Jsp基础语法(由简入杂)
JSP基础语法 一,JSP简介 Jsp是一个简化的Servlet设计,是在服务器端执行,他实现了再Java中使用HTML标签. Jsp是一种动态网页技术标准也是JAVAEE的标准 二,常见动态网站开发 ...
- Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识
JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 ...
- Servlet&jsp基础:第五部分
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 解决JSP 不解析EL表达式
解决JSP 不解析EL表达式,jsp在使用EL表达式的时候发现它不被解析,而是直接以字符串的形式显示了出来,经过查阅资料和实践,终于得知了原因并找到了解决方案 原因是:在默认情况下,Servlet 2 ...
- JavaEE系列之(一)JSP基础知识详解
一.JSP基础语法 1.JSP简介 JSP(Java Server Pages),其根本是一个简化的Servlet设计,它实现了在Java中使用HTML标签.JSP是一种动态网页 ...
- JSP基础笔记
主要内容:1. JSP基础2. Cookie3. HttpSession ================================ JSP基础 1. jsp的作用: * Servlet: &g ...
- javaEE与JSP基础
JSP基础 1. jsp的作用: * Servlet: > 缺点:不适合设置html响应体,需要大量的response.getWriter().print("<html ...
随机推荐
- MySQL DataType--数值类型
=========================================================MySQL常见的整数类型有:TINYINT: 占用8位空间SMALLINT: 占用16 ...
- linux下PHP手动添加扩展库
1.进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块: cd curl 执行phpize生成编译文件,phpize在PHP安装目录的bin目录下 ...
- Abstract Data Types in C
Interface declares operations, not data structure Implementation is hidden from client (encapsulatio ...
- celery + redis quick start
软件: redis server redis-server.exe 安装redis for python using pip 安装celery (redis) pip install -U &quo ...
- How to make a user a local admin on just one computer
log in to each "test" PC as the local admin Go to "Control Panel", "User Ac ...
- GUI相关学习资料
分类 1,基于OS,包括windows,linux,android,ios 2,基于语言,包括c++,java,c#,javacript 3,按照技术分类,这个其实和os,编程语言分不开,大概可以分为 ...
- 十一、springboot(六)整合Thymeleaf
1.添加jar包依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId ...
- 2、Zookeeper端口和ip修改
clientPort=2181clientPortAddress=192.168.0.120
- 1、Nginx集群tomcat
一.准备工作 下载nginx,http://nginx.org/,本文采用nginx-1.8.0,下载之后直接解压,免安装 下载tomcat,以配置3台tomcat服务器做负载均衡为例 二.修改tom ...
- 一次修改mysql字段类型引发的技术探究
说来,mysql数据库是我们项目中用的比较多的库,ORM工具喜欢采用细粒度的MyBatis.这里面就这么引出了两者之间的故事! 首先,说改字段吧,将一个表中的varchar字段改为enum字段.如下: ...