JSP EL表达式使用

为什么80%的码农都做不了架构师?>>> hot3.png

##1.EL全名为Expression Language

out.print(str)	<%=str%>	${str}

例子: Hi! <%=username%> 和 Hi! ${username}是一样的

只要是支持servlet2.4/jsp2.0的Container就都可以在jsp网页中直接使用el

EL如今已经是一项成熟,标准的技术

##2.EL语法:

${sessionScope.user.sex}

意思:从session的范围中,取得用户的性别

所有EL都是以${为起始、以}为结尾的。

##3.EL提供.和[]两种运算符来存取数据。

${sessionScope.user.sex} = ${sessionScope.user["sex"]}

.和[]可以同时使用:%{sessionScope.shoppingCart[0].price}

##4.EL隐含对象

jsp中有9个隐含对象,EL有11个隐含对象

常用的El隐含对象:

  • pageScope 取得Page范围的属性名称所对应的值

  • requestScope 取得request范围的属性名称所对应的值

  • sessionScope 取得session范围的属性名称所对应的值

  • applicationScope 取得application范围的属性名称所对应的值

  • param 如同ServletRequest.getParameter(String name)、回传String类型的值

  • cookie 如同HttpServletRequest.getCookies()

  • initParam 如同ServletContext.getInitParameter(String name)

不常用的EL对象:

  • pageContext 表示此jsp的PageContext
  • paramValue 如同ServletRequest.getParameterValues(String name),回传String[]类型的值

##算术运算符

  • + 加 ${ 17 + 5 } 22
  • - 减 ${ 17 - 5 } 12
  • * 乘 ${ 17 * 5 } 85
  • /或div 除 ${ 17 / 5 } 3
  • %或mod 余数 ${ 17 % 5 } 2

##关系运算符

  • ==或eq 等于 ${ 5 == 5 } true
  • !=或ne 不等于 ${ 5 != 5 } false
  • <或lt 小于 ${ 3 < 5 } true
  • &gh;或gt 大于 ${ 3 > 5 } false
  • <=或le 小于等于 ${ 3 <= 5 } true
  • >=或ge 大于等于 ${ 3 >= 5 } false

###注意:

在使用EL关系运算符时,不能写成: ${param.p1} == ${param.p2} 或者${%{param.p1} == ${param.p2} } 而应写成: ${param.p1 == param.p2}

##逻辑运算符

&&或and 交集 ${ A && B} true/false ||或or 并集 ${ A || B} true/false !或not 非 ${ !A } true/false

##注意:EL可以和常量混用,但是要注意表达式是不行的

转载于:https://my.oschina.net/csmw00/blog/675092

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

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

相关文章

eclipse 中 Android sdk 无法更新的问题

诶&#xff0c;真是麻烦&#xff0c;想下个东西都下不了。我也好久没折腾过这个了&#xff0c;在家的电脑是早就下载好了的&#xff0c;然后如今又须要下载一份。下不到。网上搜到了资料&#xff0c;记录下来&#xff1a; 第一种方法:sdk manager - tools - option 选择强制 xx…

iOS10 xcode8 分页请求MJRefresh崩溃问题

MJRefresh出现崩溃现象 解决办法&#xff1a;类库增加判断 if (range.location ! NSNotFound) { language [language substringToIndex:range.location]; }

网络编程学习笔记一:Socket编程

from: http://blog.csdn.net/gneveek/article/details/8699198 “一切皆Socket&#xff01;” 话虽些许夸张&#xff0c;但是事实也是&#xff0c;现在的网络编程几乎都是用的socket。 ——有感于实际编程和开源项目研究。 我们深谙信息交流的价值&#xff0c;那网络中进程之间…

JavaScript原生对象常用方法总结

这是4年前学习JavaScript基础的学习笔记&#xff0c;当初是照着W3School教程学习的&#xff0c;4年恍然如云烟&#xff0c;仿佛还在昨天。现发布与此&#xff0c;留作纪念&#xff0c;纪念那段不悔的青葱岁月。下面都是我学习W3C School教程中有关JavaScript写的学习笔记&#…

[delphi]修改indy源码后重新编译

http://blog.csdn.net/nerdy/article/details/8702568 虽然indy有一身的毛病&#xff0c;但是一般情况下使用起来还是多方便的。 今天在做一个使用到indy的程序的时候&#xff0c;发现无论你怎么修改idhttp.request.accept-encoding&#xff0c;他都会在其后添加一个值 identit…

xcode8 崩溃问题

【1】、Xcode8代码出现ubsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 1, privacy_setting: 2, enable_private_data: 0 2016-09-14 17:18:…

前端工具--less篇

前端工具–less篇 less 中文网http://www.bootcss.com/p/lesscss/ 常见错误及解决&#xff1a; sublime text 3 安装less2css保存less出现错误 未安装这个 npm install -g less-plugin-clean-css 未安装这个 npm install less -gd less语法 LESS 做为 CSS 的一种形式的扩展&a…

从static变量导出问题解析 __declspec(dllexport) 和 __declspec(dllimport)的作用

这段时间要把tinyxml从静态库弄成动态库&#xff0c;要用到__declspec(dllexport)和__declspec(dllimport)来导出dll和lib文件。终于弄明白了export和import的作用&#xff0c;下面从使用的角度来说明一下他们的功能。 首先要知道&#xff0c;头文件是C的接口文件&#xff0c;不…

4月26日作业

2016年4月26日作业 一、项目整体绩效评估1、*三E审计是什么的合称&#xff1f;&#xff08;记&#xff09; 答&#xff1a;经济审计&#xff0c;效率审计和效果审计2、霍尔三维结构是从哪三个方面考察系统工程的工作过程的&#xff1f; 答&#xff1a;逻辑&#xff0c;时间和知…

xcode8 快捷键失效

因为苹果解决xcode ghost,把插件屏蔽了。 解决方法: 命令运行&#xff1a; sudo /usr/libexec/xpccachectl 然后必须重启电脑后生效

CAS单点登录配置[3]:服务器端配置

在准备工作&#xff0c;证书生成等工作完成后&#xff0c;本篇介绍服务器端的配置。 JDK配置 1我们将生成的cacerts文件分别拷贝到JDK目录下的jre/lib/security目录下及JRE对应的目录中&#xff0c;如果之前存在此文件&#xff0c;请替换&#xff1b; ENDTomcat配置 1Step 1:将…

DLL动态链接库的工作原理

"动态链接"这几字指明了DLLs是如何工作的。 对于常规的函数库&#xff0c;链接器从中拷贝它需要的所有库函数&#xff0c;并把确切的函数地址传送给调用这些函数的程序。 而对于DLLs&#xff0c;函数储存在一个独立的动态链接库文件中。在创建Windows程序时&#xff…

remind程序

2019独角兽企业重金招聘Python工程师标准>>> 用了两个定时器。一个控制刷新时间&#xff0c;一个控制响铃。 定时器响应函数Timer: int wk; if(nIDEvent1) { CTime tCTime::GetCurrentTime(); wkt.GetDayOfWeek()-1; m_mnt.Format("%Y 年 …

查看手机是否安装微信客户端

if (![[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:"weixin://"]] ) {[wcatBtn setHidden:YES];}

Caffe学习系列(7):solver及其配置

solver算是caffe的核心的核心&#xff0c;它协调着整个模型的运作。caffe程序运行必带的一个参数就是solver配置文件。运行代码一般为 # caffe train --solver*_slover.prototxt 在Deep Learning中&#xff0c;往往loss function是非凸的&#xff0c;没有解析解&#xff0c;我们…

Qt DLL总结-创建及调用QT的 DLL

目录 Qt DLL总结【一】-链接库预备知识 Qt DLL总结【二】-创建及调用QT的 DLL Qt DLL总结【三】-VS2008Qt 使用QPluginLoader访问DLL 开发环境&#xff1a;VS2008Qt4.7.4 最近看了不少Qt的DLL例子&#xff0c;总结一下如何创建和调用QT 动态链接库。 先讲一下对QT动态链接库的…

Unable to install pirate

真机测试的时候&#xff0c;报这个错误&#xff0c;主要原因就是证书的问题 xcode7以上进行的真机测试&#xff0c;可以没有使用证书&#xff0c;xcode可以进行的傻瓜操作帮助我们完成真机测试&#xff0c;但是今天我进行真机测试的时候报这个错误&#xff0c;同时xcode也不进…

memmove 对同一个指针不操作

memmove 对同一个指针不操作&#xff0c;所以调用memmove之前不用比较两个指针是否相同 void CTestDLLDlg::OnBnClickedButton6() {const int size 999999;char* data new char[size];memset(data, 1, size - 1);char* data1 new char[size];memset(data1, a, size - 1);clo…

.Net JIT

.Net JIT(转) JIT 转载于:https://www.cnblogs.com/HelloMyWorld/p/5501135.html