使用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便正式成为标准 ...
随机推荐
- Perfmon - 脚本自动监控
PerfMon-Windows性能监视器是个好东西,可以辅助我们分析发生问题时间段服务器资源占用情况,但是部署性能计数器确实一个相当麻烦的事情,往往这种枯燥的事别人还做不了,只能由我们这些希望获取到P ...
- 每天网络半小时(MAC数据包在哪里合并的)
ip_deliver_local函数中函数中完成合并 听过netfilter框架中也会 因为net_filter框架需要感知到第四层的信息,但是单个数据包是无法感知到这些信息的,所以需要在netfil ...
- FullCalendar(日程管理控件)
(以下是我学习FullCalendar控件时,网络上收集的一些资料) jQuery.fullCalendar官方网址: http://arshaw.com/fullcalendar/ http://a ...
- C# 连接Oracle数据库以及一些简单的操作
拖了很久今天终于在博客园写了自己第一篇随笔: 话不多说,我们直接进入正题: 1.连接数据库 using (OracleConnection conn = new OracleConnection(&q ...
- (二)Redis字符串String操作
String全部命令如下: set key value # 设置一个key的value值 get key # 获取key的value值 mset key1 value1 key2 value2 ... ...
- HTML、 CSS、 JavaScript三者的关系 1
HTML. CSS. JavaScript三者的关系 网页主要由三部分组成: 结构( Structure) . 表现( Presentation) 和行为( Behavior) HTML —— ...
- [luogu2783] 有机化学之神偶尔会做作弊
题目链接 洛谷. Solution 边双缩点然后\(lca\)跑\(dis\)就好了. 注意这里是边双,不知道为啥所有题解都说的是点双. 边双是定义在点上的,即每个点只属于一个边双:点双是定义在边上的 ...
- [洛谷P2511][HAOI2008]木棍分割
题目大意:有$n(n\leqslant5\times10^4)$根木棍,连续放在一起,把它们分成$m(\leqslant10^3)$段,要求使得最长的段最短,问最短的长度以及方案数 题解:要使得最长的 ...
- BZOJ4199:[NOI2015]品酒大会——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=4199 https://www.luogu.org/problemnew/show/P2178#su ...
- BZOJ4897 [Thu Summer Camp2016]成绩单 【dp】
题目链接 BZOJ4897 题解 发现我们付出的代价与区间长度无关,而与区间权值范围有关 离散化一下权值 我们设\(f[l][r][x][y]\)表示区间\([l,r]\)消到只剩权值在\([x,y] ...