使用EL表达式需要注意的
1、表达式与Java无关,表达式都是以${开始,以}结束。
2、EL访问java变量不能直接访问,因为得不到数据,要访问数据,需要将其放到作用域中。而使用<%=java变量%>可以访问java变量。例如访问String str=”abc”,我们不能通过${str}直接访问,因为获取不到,我们可以这样访问:
pageContext.setAttribute(“a”,str);获取方式${a},与java表达式不同的是,当str=null时,该获取方式获取不到null,而是什么东西都不显示。
3、实例代码:
request.setAttribute("aaa","wuxin");
你好,${requestScope.aaa }
访问javaBean:${隐式对象.id号.属性名字 }例如${sessionScope.user.userName }
4、在EL表达式中定义的变量我们不能使用。
5、要直接从表单中获取值,使用${param.控件名字}
6、获取值的几种方式
7、${“23”+3}得到的结果为26,${“23s”+3}报错
8、打开或者禁用EL表达式:使用isELIgnored=”true(禁用)/false(支持)”
9、${这个里面不能使用java代码,否则会报出服务器的500异常}
EL表达式的常用:
1、从表单提交到另一个页面,使用param( paramValues)例如:
Request.getParameter(“username”)可写成${param.usernam},${paramValues.hobby[2]}
2、从隐式对象中获取数据:例如:session.setAttribute(“hello”,”123”);
Sesson.getAttribute(“hello”);可写成${sessionScope.hello},获取javaBean中的数据,例如session.setAttribute(“user”,user);
User u=(User)Session.getAttribute(“user”);u.getUserName();
可为${sessionScope.user.userName}
当前面没有写隐式对象的时候,例如${ hello},编译器会自动从最小的默认对象开始找,即pageScope、requestScope、sessionScope、applicationScope,找到匹配的显示,没有找到则为null
EL的默认对象:
pageScope、requestScope、sessionScope、applicationScope、param、paramValues、header、headerValues、cookie、、
3、动态赋值:${sessionScope.user[data]},如果data为userSex,则它的值
为${sessionScope.user[“userSex”]}等价于${sessionScope.user.userSex},如果data的值
为userName,则它的值为${sessionScope.user.userName},用.的方式无法动态赋值
4、若要在页面显示El表达式,在EL表达式的前面加上一个反斜杠,例如:\${1.2+4.5}
关于struts.xml使用el
跳转的地址如果有参数的话,可以用${yourParameter}表示参数,比如:
<action name="" class="">
<result>/success.jsp?t=${type}</result>
</action>
不过 这个type要是你的class里面的一个字段,要有get,set方法的
使用EL表达式需要注意的的更多相关文章
- jsp页面无法识别el表达式的解决方案
今天在写一个springmvc的小demo时,碰到一个问题,在jsp页面中书写为${user.username}的表达式语言,在浏览器页面中仍然显示为${user.username},说明jsp根本不 ...
- El表达式的关系运算符
El表达式的关系运算符: == 对应 eq != 对应 ne > 对应 gt < 对应 It
- java web学习总结(三十一) -------------------EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- EL表达式的算术运算
一个例子--乘法运算 ${book.bookCount * book.bookPrice } 两个不同对象的EL表达式的算术运算同理 ${student.studentNum * book.bookP ...
- EL表达式杂项
1.<%@ page isELIgnored="false" %> 是否忽略EL表达式,如果值为ture,那么 ${..}这样的会直接原样输出,不会进行EL表达式计算 ...
- c:out标签和el表达式与跨域攻击XSS
很多时候,在JSP中我们喜欢用EL表达式输出信息,但是最近发现这个确实存在个问题:XSS即跨域攻击. 下面看个例子: <c:out value="${student.name}&quo ...
- JavaWeb:EL表达式
JavaWeb:EL表达式 说明 1.Expression Language语言,一种用于JSP文件中的数据访问的语言. 2.能够简化JSP文件中该数据访问的代码,可用来替代传统的基于<%= % ...
- 重温JSP学习笔记--El表达式
el表达式是jsp内置的表达式语言,jsp从jsp2.0开始,就不再提倡使用java脚本,而是用el表达式和动态标签来替代,而el表达式主要替代的是jsp中的<%=....%>,也就是说e ...
- Spring2.0-applicationContext.xml中使用el表达式给实体类属性赋值被当成字符串-遁地龙卷风
(-1)写在前面 这两天读<javaweb开发王者归来>,学到Spring的PropertyPlaceholderConfigurer时出现一个问题,我已${jdbc.name}的形式赋值 ...
- Javaweb学习笔记——EL表达式
一.前言 EL表达式是什么? 简而言之,可以这样理解,EL表达式全名为:Exprexxsion Language,原先是JSTL 1.0为了方便存取数据而定义的语言,到了JSTL 2.0便正式成为标准 ...
随机推荐
- Jenkins系列-Jenkins修改主目录步骤说明
在使用Jenkins做持续集成过程中,在构建很多次后发现有时在构建的时候系统提示磁盘空间不足,此时检查发现Jenkins的主目录挂载区放在了服务器根目录下,占用空间较大,此时除了对服务器的磁盘进行扩容 ...
- Visual Studio 数据库架构比较
一.前言 开发的时候在测试服务器上和线网服务器上面都有我们的数据库,当我们在线网上面修改或者新增一些字段后,线网的数据库也需要更新,这个时候根据表的修改记录,然后在线网上面一个一个增加修改很浪费效 ...
- SQL SERVER技术内幕之10 可编程对象
一.变量 变量用于临时保存数据值,以供在声明它们的同一批处理语句中引用.例如,以下代码先声明一个数据类型为INT的变量@i,再将它赋值为10; DECLARE @i as INT; SET @i = ...
- foreach循环2
<select id="test" parameterType="java.util.List" resultType="user"& ...
- 从Mysql某一表中随机读取n条数据的SQL查询语句
若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1)).例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机 ...
- 【bzoj5049】[Lydsy九月月赛]导航系统 并查集+双向BFS最短路
题目描述 给你一张 $n$ 个点 $m$ 条边的随机图,边权为1.$k$ 次询问两点间最短路,不连通则输出-1. 输入 第一行包含3个正整数n,m,k(2<=n<=100000,1< ...
- JS执行上下文(执行环境)详细图解
JS执行上下文(执行环境)详细图解 先随便放张图 我们在JS学习初期或者面试的时候常常会遇到考核变量提升的思考题.比如先来一个简单一点的. console.log(a); // 这里会打印出什么? v ...
- Linux相关——记一些ubuntu相关快捷键&操作(持续更新)
(有一些是windows通用的...放上来凑字数...) 1, ctrl + alt + t.调出终端,这个没什么好解释的. 2, win + s.可以快速查看打开的窗口,并进行切换 3,win + ...
- C++中static用法
本文为个人学习笔记,参考<C++ Primer(中文第五版)>和<王道程序员求职宝典> 本文分为两个部分:不考虑类.类中static的作用 一.不考虑类,static的作用 1 ...
- 弱校的ACM奋斗史
这是一篇老文章,不过由于无法找到最初的发文地址,这里就不能粘贴原文网址了.本站转载此文与ACMer们共勉.感谢acmerfight供稿. 题解:还记得2年前的一个晚上,我和一个女孩一起写完了这篇文章. ...