一、jsp基础部分

1、介绍

概念

JSP(Java Server Page),java服务器端页面,可以定义html标签,又可以定义java代码。

原理

JSP本质上就是一个Servlet

2、JSP定义Java代码的方式

:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。

:定义的java代码,在jsp转换后的java类的成员位置。

:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。

3、注释

html注释:

只能注释html代码片段

jsp注释:推荐使用

可以注释所有

4、指令

作用

用于配置JSP页面,导入资源文件

格式

分类

1、page:用来配置JSP页面的

1、contentType:等同于response.setContentType()

高级的IDE才能生效,设置响应体的mime类型以及字符集

低级工具,需要设置pageEncoding属性设置当前页面的字符集

2、import:导包

3、errorPage:当前页面发生异常后,会自动跳转到指定的错误页面

4、isErrorPage:标识当前也是是否是错误页面,默认为false,表示不可以使用内置对象exception

Title

服务器正忙...

String message = exception.getMessage();

out.print(message);

%>

2、include:页面包含的。导入页面的资源文件

3、taglib:引入标签库的定义,如jstl

5、JSP的内置对象(9个)

jsp页面中不需要获取和创建,可以直接使用的对象,他们分别是:

变量名

真实类型

作用

request

HttpServletRequest

一次请求访问的多个资源(转发)

response

HttpServletResponse

响应对象

response

JspWriter

输出对象,数据输出到页面上。和response.getWriter()类似,区别是response.getWriter()数据输出永远在out.write()之前

pageContext

PageContext

当前页面共享数据,还可以获取其他八个内置对象

session

HttpSession

一次会话的多个请求间

application

ServletContext

所有用户间共享数据

page

Object

当前页面(Servlet)的对象 this

config

ServletConfig

Servlet的配置对象

exception

Throwable

异常对象,需要使用page指令的isErrorPage属性为true

jsp文件中获取application context: ${pageContext.request.contextPath}

二、jsp高级部分

1、EL表达式

介绍

Expression Language 表达式语言,用于替换和简化jsp页面中java代码的编写

语法及注意事项

${表达式}

注意:jsp默认支持el表达式,如果要忽略el表达式:

1、设置jsp中page指令中:isELIgnored="true" 忽略当前jsp页面中所有的el表达式。

2、${表达式} :忽略当前这个el表达式。

使用

运算符类型

运算符

功能

算数运算符

+ - * /(div) %(mod)

比较运算符

> < >= <= == !=

逻辑运算符

&&(and) ||(or) !(not)

空运算符

empty、not empty

empty用于判断字符串、集合、数组对象是否为null或者长度是否为0,not empty则相反

获取值,el表达式只能从域中获取值

域名称

描述

pageScope

page作用域

requestScope

request作用域

sessionScope

session作用域

applicationScope

application作用域

语法:

1、${域名称.键名}:从指定域中获取指定键的值

2、${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止

request.setAttribute("name","张三");

%>

获取的值为:${requestScope.name}

3、获取对象

${域名称.键名.属性名}:本质上会去调用对象的getter方法

4、获取List集合

${域名称.键名[索引]}

5、获取Map集合

${域名称.键名.key名称}或者${域名称.键名["key名称"]}

2、JSTL

介绍

JavaServer Pages Tag Library JSP标准标签库,是由Apache组织提供的开源的免费的jsp标签,主要用于简化和替换jsp页面上的java代码。

使用步骤

1、导入jstl相关jar包(两个)

javax.servlet.jsp.jstl.jar、jstl-impl.jar

2、引入标签库

3、使用标签

常用的JSTL标签

1、if:相当于java代码的if语句

//判断request域中的一个number为奇数还是偶数

request.setAttribute("number",4);

%>

${number}为奇数

${number}为偶数

2、choose:相当于java代码的switch语句

//数字编号对应星期几

request.setAttribute("number",4);

%>

星期一

星期二

星期三

星期四

星期五

星期六

星期天

数字输入有误

3、foreach:相当于java代码的for语句

值:${item}---索引:${s.index}----循环次数(从1开始):${s.count}

或者

值:${item}---索引:${s.index}

jsp java el表达式_jsp相关笔记,el表达式、jsp标签库(jstl)相关推荐

  1. JSP、EL和JSTL-学习笔记01【JSP基础语法】

    Java后端 学习路线 笔记汇总表[黑马程序员] JSP.EL和JSTL-学习笔记01[JSP基础语法] JSP.EL和JSTL-学习笔记02[MVC] JSP.EL和JSTL-学习笔记03[EL介绍 ...

  2. 【JSTL】JSP 标准标签库JSTL学习

    JSTL 标签库 1.什么是JSTL 标签库 JSTL 是apache 对EL 表达式的扩展(也就是说JSTL 依赖EL),JSTL 是标签语言!JSTL 标签使用以来非常方便,它与JSP 动作标签一 ...

  3. JSP标准标签库——JSTL

    JSP标准标签库--JSTL JSTL是实现Web应用程序中常见的通用功能的定制标签库集. JSTL分为5大类: 1. 核心标签库 2. 国际化/格式化标签库 3. 数据库标签库 4. XML标签库 ...

  4. JSP标准标签库JSTL总结

    JSP标准标签库JSTL总结 J STL封装了JSP应用的通用核心功能.     标签分5类:核心标签,格式化标签,SQL标签,XML标签,JSTL函数. JSTL库安装     Tomcat安装JS ...

  5. jsp java乱码转换_JSP中文乱码问题《转》

    之前总是碰到JSP页面乱码的问题,每次都是现在网上搜,然后胡乱改,改完也不明白原因. 这次正好作下总结,中文乱码就是因为编码不符,可能出现乱码有四个地方: 1 JSP编码乱码 2 HTML编码乱码 3 ...

  6. 使用JSP的标准标签库JSTL处理XML格式的数据

    JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. 下载地址:https://archive.apache.org/dist/jakarta/taglibs/stan ...

  7. jsp java 传值方法_JSP页面间的传值方法总结

    前言 jsp 页面间传递参数是项目中经常需要的,这应该算是 web 基本功吧.试着将各种方式总结下来,需要时可以进行权衡利弊选择最合适的方式.下面来一起看看详细的介绍: 1. url 链接后追加参数 ...

  8. jsp java 传值方法_JSP 页面传值方法总结(转)

    JSP 页面间传递参数是项目中经常需要的,这应该算是 web 基本功吧. 试着将各种方式总结下来,需要时可以进行权衡利弊选择最合适的方式. 1. URL 链接后追加参数 URL 后面追加参数 resp ...

  9. jsp java方法调用_jsp怎么调用java方法

    jsp调用java的方法:首先在JSP页面中引入Java方法所在的包:然后在页面中编写[]并保存运行即可. 其实非常简单,因为在jsp中可以直接进行Java程序的编写,所以调用Java的方法只需一点点 ...

最新文章

  1. 老王亲述:我的运维心路历程
  2. IDEA快捷键及使用技巧
  3. 文明重启服务器维护怎么卡进去,文明重启更新之后进不去,具体玩法介绍
  4. kafka的四种checkpoint(没有整理完)
  5. MYSQL复制的几种模式
  6. Android之EditText自定义边框和边框颜色(转载)
  7. 轻松理解—继承成员访问控制机制
  8. 服务器不删档的设置_CCD2服务器已经开启,准备好刷刷刷了吗
  9. Vs code 通用插件
  10. DPDK X710 DDP PPPoE 实践
  11. 网课公众号题库接入使用教程
  12. python二进制转十进制代码_代码将二进制转换为十进制
  13. Cesium离线地图极简教程
  14. 戴尔d系列服务器,戴尔科技集团推出两款全新VxRail产品
  15. Linux platform 设备驱动实验-基于正点原子IMX6ULL开发板
  16. 了解JavaScript语言--如何在HTML中使用JavaScript
  17. 我是怎么成为一名...的
  18. 【创业@移动互联网】PP租车CEO(学安卓,创业移动互联)
  19. c语言程序中函数调用本身叫什么,在C语言中函数调用方式有什么区别
  20. Kafka整体架构图解

热门文章

  1. OpenCV鼠标事件和滑动条事件
  2. PyTorch框架学习七——自定义transforms方法
  3. opencv画图_c++
  4. 一篇文章搞懂数据仓库:数据仓库架构-Lambda和Kappa对比
  5. Python面试题大全(四):数据库篇
  6. postgresql 安装使用
  7. Swagger 注解~用于模型
  8. html语言鼠标悬停特效,CSS3鼠标悬停文字幻影动画特效
  9. C++学习之路 | PTA乙级—— 1086 就不告诉你 (15 分)(精简)
  10. scrapy读取mysql数据库_python3实战scrapy获取数据保存至MySQL数据库