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人员都可以使用. ...
随机推荐
- 宝塔面板设置腾迅COS自动备份网站
之前写了如何配置腾迅云COS并挂载到服务器中,今天看到宝塔面板中有腾迅云COS的插件,不过研究了下,只是将COS绑定在宝塔面板中,不能自动备份,需要用到宝塔的计划任务功能 1.下载腾迅云COS插件 2 ...
- eureka2.0页面404报错问题--之坑
eureka页面报错问题404页面如下 在复制pom文件的时候,记得启动eureka注册中心的pom文件引入依赖是否正确 启动类注解也要注意是否引用正确
- wiringPi库的pwm配置及使用说明
本文介绍树莓派(raspberry pi)在linux c 环境下的硬件pwm配置及使用方法. 1. 下载安装wiringPi 此步骤建议参考官网指南,wiringPi提供了对树莓派的硬件IO访问,包 ...
- Docker 上传镜像
文章首发自个人网站:https://www.exception.site/docker/docker-push-image 本文中,您将学习如何上传 Docker 镜像至 Docker Hub 上. ...
- 为什么要重写hashcode和equals方法?初级程序员在面试中很少能说清楚。
我在面试 Java初级开发的时候,经常会问:你有没有重写过hashcode方法?不少候选人直接说没写过.我就想,或许真的没写过,于是就再通过一个问题确认:你在用HashMap的时候,键(Key)部分, ...
- 【Android Studio安装部署系列】十一、Android studio获取数字签名信息
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 下面介绍下调试版本和发布版本获取数字签名的方法,通过以下方法可以获取到SHA1和MD5. 一般在使用分享功能,在第三方平台中创建应用 ...
- BaiduSpeechDemo【百度语音SDK集成】(基于v3.0.7.3)
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo将百度语音SDK(其中一部分功能)和自定义的UI对话框封装到一个module中,便于后续的SDK版本更新以及调用. 本De ...
- 使用FsCheck编写Property-based测试
使用FsCheck编写Property-based的测试 在编写基于Property-based的单元测试一文中,我们介绍了什么是Property-based测试.同时我们也总结了Property-b ...
- Android HandlerThread使用介绍以及源码解析
摘要: 版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.HandlerThread的介绍及使用举例 HandlerThread是什么鬼?其本质就是一个线程,但是Han ...
- Flutter 即学即用系列博客——10 混淆
前言 之前的博客我们都是在 debug 的模式下进行开发的. 实际发布到市场或者给到用户的都是 release 包. 而对于 Android 来说,release 包一个重要的步骤就是混淆. Andr ...