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 ...
随机推荐
- lapis 1.7.0 更好的openresty 版本兼容以及安全数据库支持
lapis 1.7.0 今年4月2号就发布了,一直没有注意,今天看到changelog就简单的进行了一个 测试(主要是与openresty版本的测试,新变更后边会有) 使用docker-compose ...
- Hasura GraphQL 内部表结构
Hasura 使用pg 数据库存储引擎的元数据信息,在hdb_catalog schema 下面,是在初始化的时候生成的 对于表的管理.权限的信息存储都在这个schema下 hdb_table 这个表 ...
- Unity 5.x Shader and Effects Cookbook(2nd) (Alan Zucconi Kenneth Lammers 著)
1. Creating Your First Shader 2. Surface Shaders and Texture Mapping 3. Understanding Lighting Model ...
- React 中的 Component、PureComponent、无状态组件 之间的比较
React 中的 Component.PureComponent.无状态组件之间的比较 table th:first-of-type { width: 150px; } 组件类型 说明 React.c ...
- pip查看已安装包列表
输入命令: pip freeze 结果: certifi==2018.10.15chardet==3.0.4Django==2.1.2idna==2.7pytz==2018.5requests==2. ...
- Appium Desktop Inspector 安卓真机配置(Windows)
本文是基于 Windows环境 通过Appium Desktop 测试真机,首先要确保测试机已经和电脑正确连接(将手机和电脑通过USB数据线连接,手机打开USB调试) 确认电脑与手机是否连接成功的方法 ...
- centos7 使用cgroup进行资源限制
centos7中进行资源限制,使用的仍然是cgroup,只是配置接口使用的systemd. 下文将介绍如何使用systemd进行资源限制. Step1 编写unit文件 命令为my-demo.serv ...
- Visual Studio中设置Nuget程序包源
用vs2015,默认的程序包源是Microsoft and .NET,很多常见的开源包在里面搜索不到. 这时候就需要配置一个更开放的包源,网上搜了一下,都没人提供这个问题,所以自己动脑花了一番脑经,看 ...
- 解决web项目存在多个log4j.properties配置文件,导致日志级别配置不生效问题
java开启log4j的debug模式 -Dlog4j.debug=true tomcat启动debug模式: linux打开catalina.sh导入: export JAVA_OPTS=" ...
- PHP遍历一个文件夹下所有文件和子文件夹的函数
<?php function my_dir($dir) { $files = array(); if(@$handle = opendir($dir)) { //注意这里要加一个@,不然会有wa ...