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

一、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}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506726.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cstring越界_char*、WCHAR*、vc8中的CString

在vc6中喜欢用CString&#xff0c;因为它用起来方便&#xff0c;可以容易地进行字符串赋值&#xff0c;复制&#xff0c;格式化&#xff0c;甚至相加&#xff0c;然而到了vc8中&#xff0c;这些操作似乎都不能用了。连CString str "Hello World!"&#xff1b;都会报…

java cms bootstrap_thinkcms: Java CMS系统,完善的后台功能,大气的前台页面. 使用springMVC,hibernate,bootstrap,amazeui....

#thinkcmsJava CMS系统&#xff0c;完善的后台功能&#xff0c;大气的前台页面主要技术springmvc-mvc控制层shiro-方便全面的安全控制框架hibernate-orm框架ehcache-缓存框架前端&#xff1a;jquery&#xff0c;bootstrap&#xff0c;amazeui拉完代码将maven相关包拉下来&#…

java 不允许默认构造_java – 如何使用ObjectMapper去除/序列化不可变对象而不使用默认构造函数?...

我想使用com.fasterxml.jackson.databind.ObjectMapper对不可变对象进行序列化和反序列化。不可变类看起来像这样(只有3个内部属性&#xff0c;getter和constructor)&#xff1a;public final class ImportResultItemImpl implements ImportResultItem {private final ImportRe…

java方法不可覆盖_详解Java构造方法为什么不能覆盖,我的钻牛角尖病又犯了.......

一看Think in Java&#xff0c;遇到个程序classEgg2 {protected classYolk {publicYolk() {System.out.println("Egg2.Yolk()");}public voidf() {System.out.println("Egg2.Yolk.f()");}}private Yolk y newYolk();publicEgg2() {System.out.println(&qu…

有人去瑞幸咖啡java_瑞幸股价暴跌,门店竟然爆单了

本文首发于“全天候科技”作者姚心璐。欢迎下载“见闻VIP”&#xff0c;即时见证历史。昨晚至今&#xff0c;有人被瑞幸疯狂打了1.8折&#xff0c;有人疯狂用1.8折券买入瑞幸咖啡。是不是看上去很迷&#xff1f;这的确是冰火两重天一样的真实存在。4月2日&#xff0c;瑞幸自曝2…

我的世界java版做船_“不要在云了,船的合成用木铲?”我的世界:Java和基岩版的差异...

“不要在云了&#xff0c;你这个云玩家&#xff01;”不知道你没有没有因为某些原因被网友说成是MC的云玩家&#xff0c;我就听到过一个很冤枉的故事。一个已经玩了5年之久的基岩版玩家&#xff0c;被一个玩了一年Java版的玩家硬生生说成是一个云玩家&#xff0c;重点不是这&am…

mysql 5.5免安装配置_mysql的参考文档mysql5.5.21免安装版的配置方法

mysql的5.5版本(与5.1版本有所区别)中my.ini文件的内容。在mysql根目录里新建my.ini文件&#xff0c;用阅读器打开(加入如下内容)[client]#password your_passwordport 3306socket /tmp/mysql.sockdefault-character-setutf8[mysqld]port 3306socket /tmp/mysql.sockskip-…

appium java 点击事件_java – 无法使用Appium在Android中的权限对话框中单击“允许”按钮...

我无法使用AppiumJava在Android的权限对话框中点击“拒绝”或“允许”按钮.在点击这些按钮之前,是否需要添加任何功能&#xff1f;以下是代码&#xff1a;DesiredCapabilities capabilities new DesiredCapabilities();capabilities.setCapability("platformName", …

java线程interu_Intel 10nm服务器U首曝:多线程性能提升118%

Intel 10nm Ice Lake已经应用在轻薄本平台上&#xff0c;当时频率先天不足&#xff0c;而且只能做到4核心&#xff0c;不得不同时祭出14nm Comet Lake予以辅助&#xff0c;而在游戏本、桌面上也不得不继续依赖14nm Comet Lake。根据路线图&#xff0c;服务器平台上Intel今年会先…

java面板换一个斜的圆形_java – 如何从底部设计圆形视图?

我想设计一个从底部是圆形的视图,请看图像I have try different way to design, Like XML, Programatically but I am not able to get any success. I use XML code it’s doing circle from bottom but when I use Any image or Banner slider as show in figure then it’s …

K8S学习指南(38)-k8s权限管理对象 Group

文章目录 引言Group基本概念1. Group是什么&#xff1f;2. Group的作用3. 与用户的关系 Group的创建方式1. 手动创建Group2. 用户创建Group Group示例演示步骤一&#xff1a;创建Group步骤二&#xff1a;创建Role和RoleBinding步骤三&#xff1a;验证Group权限 结论 引言 在Ku…

java异常标记_java异常机制

------------------------------------------------------------------下面是一些java异常集-------------------------------------------------------------------------------------------算术异常类&#xff1a;ArithmeticExecption空指针异常类&#xff1a;NullPointerExc…

JAVA物体运动检测_基于OpenCv的运动物体检测算法

#include #include #include #include int main( int argc, char** argv )//声明IplImage指针IplImage* pFrame NULL;IplImage* pFrImg NULL;IplImage* pBkImg NULL;CvMat* pFrameMat NULL;CvMat* pFrMat NULL;CvMat* pBkMat NULL;CvCapture* pCapture NULL;int nFrmNum…

oracle删除多条从js到java_一次oracle大量数据删除经历

oracle有个数据表现在已经有2500万条数据了&#xff0c;软件用到这个表的数据时就变的特别慢&#xff0c;所以准备把一个月以前的数据全部清除。我的步骤是(下边操作都是在plsql中运行的)1、首先 将这个月的数据导出到一个临时表中(这些数据是自己希望保留的)create table temp…

polymorphism java_Java基础-面向对象第三大特性之多态(polymorphism)

Java基础-面向对象第三大特性之多态(polymorphism)作者&#xff1a;尹正杰版权声明&#xff1a;原创作品&#xff0c;谢绝转载&#xff01;否则将追究法律责任。一.多态概述多态是继封装&#xff0c;继承之后&#xff0c;面向对象的第三大特性&#xff0c;多态的前提是继承。从…

java如何把png转换成jpg_Java实现将png格式图片转换成jpg格式图片的方法【测试可用】...

Java实现将png格式图片转换成jpg格式图片的方法【测试可用】发布于 2020-4-9|复制链接摘记: 本文实例讲述了Java实现将png格式图片转换成jpg格式图片的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;javaimport java.awt.Color;import java.awt.image.BufferedIm…

php反序列化漏洞 freebuf,最全的PHP反序列化漏洞的理解和应用

原创&#xff1a;f1r3K0php反序列化漏洞&#xff0c;又叫php对象注入漏洞&#xff0c;是一种常见的漏洞&#xff0c;在我们进行代码审计以及CTF中经常能够遇到。01学习前最好提前掌握的知识PHP类与对象(https://www.php.net/manual/zh/language.oop5.php)PHP魔术方法(https://s…

php按数字分页类,PHP简单实现数字分页功能示例

本文实例讲述了PHP简单实现数字分页功能。分享给大家供大家参考&#xff0c;具体如下&#xff1a;header ( Content-Type: text/html; charsetutf-8 );//分页$page$_GET[page];$allcount 100;$page_size 10;$page_show 5;$page_count ceil($allcount/$page_size);if($page <…

php 瀑布流布局,CSS3实现瀑布流布局的方法

这次给大家带来CSS3实现瀑布流布局的方法&#xff0c;CSS3实现瀑布流布局的注意事项有哪些&#xff0c;下面就是实战案例&#xff0c;一起来看一下。以前使用瀑布流都要用js&#xff0c;现在有了css3&#xff0c;可以轻松实现了。掌握点&#xff1a;1、column-count 把p中的文本…

php 文章列表,ThinkPHP初学者:主页,获取一个文章列表

在之前的文章&#xff0c;已经实现了注册登录的功能&#xff0c;主要熟悉TP与HTML、JS交互&#xff0c;数据库的基本操作等。接下来就要登录到主页&#xff0c;熟悉一下列表的处理&#xff0c;以及数据库多表联查操作。为了简化模型&#xff0c;列表的字段仅有文章标题、简介、…