JSP页面、EL表达式
JSP页面:
jsp 是一种动态页面,html 页面和 jsp页面最大的区别是:html 是一种静态页面,在 html 中只
能定义 css、js 等,在 jsp 中除了可以定义 css、js 之外还可以定义 java 代码, 还可以在 jsp 中使
用 el 表达式和 jstl 标签,但是java 代码必须使用<%java代码%>
第一次访问一个jsp页面的步骤如下:
1、将范围的jsp 页面转换成对应的 *.java 文件
2、将转换后的 *.java 文件编译成 *.class文件
3、将 *.class 文件解释成 *.html 页面响应给浏览器
第二次访问 jsp 页面如下:
1、jsp 就被修改了,此时重新执行上面的三个步骤
2、jsp 没有被修改,直接执行第三个步骤
实际上jsp 是会被转换成一个特殊的 servlet 。
JSP 的注释:
在jsp中可以出现四种注释:
1、原有的 html 的注释:<!-- html 注释-->
2、单行注释://注释的内容(需要在<%%>中定义)
3、多行注释:/*注释的内容*/ (需要在<%%>中定义)
4、jsp特有注释:<%--注释内容--%>
jsp 的注释在页面使用查看源码的方式不能看见,html 的注释在页面使用查看源码的方式可以看见。
包含概念:
在一个项目中会出现多个页面,但是这些也想的头部信息和尾部信息可能是一样的,此时
就需要在多个页面中编写相同额代码,这样就出现了代码的重复现象,最好的解决方案是将头部信息
和尾部信息定义到独立的文件中,之后再需要的地方包含就行。jsp中有两种包含方式:
1、静态包含:<%@ include file="被包含文的件路径"%>
先将需要导入的文件包含之后再编译成一个 *.class 文件。
2、动态包含:<jsp:include page="被包含的文件路径"/>
如果被包含的文件是静态资源,和静态包含一样,先将要导入的资源包含到目标页在进行编译。
如果包含的是动态资源 *.jsp ,则会先将被包含的资源编译成独立的 class 文件之后再进行包含。
el 表达式概念:
Expression Language 表达式语言,是一种在jsp页面获取数据的简单方式(只能获取
数据,不能设置数据)在jsp2.0 开始引入概念,主要功能是取得保存在内置对象中的数据显示到 jsp 页面上。
el表达式中的运算符:
在 el 中的 + 号只有数学运算功能,没有连接功能。
关系运算符:
> 或者 gt ,列:${8>9} 或者 ${8 gt 9}
>= 或者 ge,列:${17>=9} 或者 ${17 ge 9}
< 或者 lt,列:${3<9} 或者 ${3 lt 9}
<= 或者 le,列:${5<=7} 或者 ${5 le 7}
== 或者 eq,列:${3==3} 或者 ${3 eq 3}
!= 或者 ne,列:${5!=3} 或者 ${5 ne 3}
逻辑运算符:
&& 或者 and,列:${false && false} 或者 ${false and false}
|| 或者 or,列:${true || false} 或者 ${true or false}
! 或者 not,列:${!true} 或者 ${not true}
特殊运算符:
empty 判断 EL表达式中的表达式是否为空。列:${empty sessionScope.user}
" . " 作用相当于执行Bean 中的get 方法。列:${sessionScope.user.userName}
[] 的作用跟“ . ”运算符一样,只不过 [ ] 可以执行一些不规则的标识符。列:${user["score-math"]}
JSP页面、EL表达式的更多相关文章
- jsp页面el表达式不起作用
web.xml中2.4版本的默认导入的standerd.jar,和jstl.jar是使用el表达式的包是启动的而2.5版本的web.xml中默认是关闭的所以在2.5的所有jsp中需要启动一下用< ...
- 关于SSM框架项目中jsp页面EL表达式使用的一些疑问(一)
问题 ssm框架整合中,jsp页面中EL表达式所引用的对象“page”可以在controller中使用mav.addObject(“page”,pag )进行添加,如果省略mav.addObject( ...
- JSP页面EL表达式不解析
问题是这样:在搭建springMVC环境的时候,笔者写了一个简单的Controller如下: @Controller public class HelloController { @RequestMa ...
- ssm项目导入activiti依赖后jsp页面el表达式报错
错误原因:Tomcat8.x与activiti6.0依赖冲突导致 解决方法: 1.修改tomcat版本 2.在pom.xml中修改 在依赖中把 <dependency> <group ...
- jsp页面el表达式<c:choose> <c:when的用法
等于 是if else <c:choose> <c:when test="${paginationModel.py_province != ''}"> 如果 ...
- MVC实现登录,增删改查之数据展示:JSP的EL表达式(二)
这里的数据展示利用jsp的EL表达式,后台放入session,前台EL获取 数据库设计是这样的,一个老师对应有多个学生,在学生表student中建立外键tid与老师表teacher的tid对应,现在老 ...
- JSP、EL表达式的入门(要用)
2018-08-12 22:55:23 * JSP.EL表达式的入门(要用) * Servlet/JSP 是两种动态的WEB资源的两种技术. * 使用Servlet 生成HTML的页面 ...
- 超全面的JavaWeb笔记day12<Jsp&JavaBean&El表达式>
1.JSP三大指令 page include taglib 2.9个内置对象 out page pageContext request response session application exc ...
- JSP的EL表达式语言
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/expression-language.html: JSP表达式语言(EL)可以方便地访问存储在JavaB ...
- JSP基础--EL表达式
EL(表达式语言) 1 EL概述 1.1 EL的作用 JSP2.0要把html和css分离.要把html和javascript分离.要把Java脚本替换成标签.标签的好处是非Java人员都可以使用. ...
随机推荐
- Nginx 相关介绍
Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Unifor ...
- 利用 vue-cli 构建一个 Vue 项目
一.项目初始构建 现在如果要构建一个 Vue 的项目,最方便的方式,莫过于使用官方的 vue-cli . 首先,咱们先来全局安装 vue-cli ,打开命令行工具,输入以下命令: $ npm inst ...
- [Abp vNext 源码分析] - 2. 模块系统的变化
一.简要说明 本篇文章主要分析 Abp vNext 当中的模块系统,从类型构造层面上来看,Abp vNext 当中不再只是单纯的通过 AbpModuleManager 来管理其他的模块,它现在则是 I ...
- 区块链技术现状&前景
炒作周期 Gartner 在 2017 年发布的新兴技术炒作曲线,这张图是去年 8 月发布的,当时估计它们也没料到随后能有那么火,当时区块链在这个位置,其实是已经过了炒作的巅峰期,正在往低谷走的这个阶 ...
- Hadoop伪分布式集群搭建
声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 1.下载Hadoop压缩包 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop- ...
- RDIFramework.NET V3.3 WinForm版新增日程管理功能模块
功能描述 日程管理基于月.周.日的日历视图,把安排到每一天的具体时间点,让每一天的时间都充分利用:甚至您也可以把个人非工作事项也安排进来,完全是属于自己的全时间管理.就是将每天的工作和事务安排在日期中 ...
- k邻近算法(KNN)实例
一 k近邻算法原理 k近邻算法是一种基本分类和回归方法. 原理:K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类,就把该输入实 ...
- 字符型液晶屏模拟控件(En)
A replica CLCD module control. Initiated on May 5, 2012 Updated on Feb 21, 2017 Copyright 2012-2017 ...
- SpringCloud学习中遇到的一些bug
There was a problem with the instance info replicator 错误原因: 该服务尝试将自己作为客服端注册 解决办法: 在application.yml配置 ...
- [Nodejs] 用node写个爬虫
寻找爬取的目标 首先我们需要一个坚定的目标,于是找个一个比较好看一些网站,将一些信息统计一下,比如 url/tag/title/number...等信息 init(1, 2); //设置页数,现在是1 ...