码迷,mamicode.com
首页 > 编程语言 > 详细

EL:Express Language,表达式语言

时间:2020-07-14 13:08:01      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:cte   内容   setattr   pre   转换   res   set   导航   enc   

01——EL
EL:Express Language,表达式语言
主要作用,用来替代jsp文件中的一部分java代码
request.getAttribute();
session.getAttribute();

语法格式:
》以$开头,后面是{}
》${msg} 可以替代 request.getAttribute(msg);
》EL的导航符号
圆点 或者 []
${student.sname} === ${student[‘sname‘]} ------获取学生对象的姓名属性

语法应用:
EL用来替代获取后台数据的代码
我们在servlet中通过setAttribute存放到request,session,application等读写的内容
在前台页面我们使用el表达式获取
${sessionScope.uname} 获取存在在session对象中的用户名信息
用来获取四个范围对象中存储的数据
page\request\sessionn\application
EL默认会一次查找这四个对象
一般需要给EL指定查找范围
${pageScope.msg}
${requestScope.msg}
${sessionScope.msg}
${applicationScope.msg}
EL的优势:
使用EL表达式无需进行强制类型转换
自带非空验证,如果获取的对象为null,那么页面中将显示空白

EL的用例一:
<%
Map map = new HashMap<>();
map.put("one","张三");
map.put("two","李四");

request.setAttribute("map",map);

//往page对象中存储数据
pageContext.setAttribute("name","测试");
%>

<%--获取map中的数据属性,直接map.key--%>
map集合中第一个元素是:${requestScope.map.one}<br>
map集合中第二个元素是:${map.two}<br>

page对象中的用户名是:${name}

EL的用例二:

可以把注册信息提交到jsp中,在jsp中利用EL获取请求信息
-------注册页面--------
<div align="center">
<form action="doReg.jsp" method="post">

用户名:<input type="text" name="uname"> <br>
密码:<input type="text" name="pwd"> <br>
爱好:<input type="checkbox" name="hobby" value="读书">读书
<input type="checkbox" name="hobby" value="游戏">游戏
<input type="checkbox" name="hobby" value="编程">编程
<br>
<input type="submit" value="注册">
</form>
</div>
-------doReg.jsp-----------
<h3>注册信息</h3>
<%
request.setCharacterEncoding("utf-8");
%>

用户名是:${param.uname}<br>
密码是:${param.pwd}<br>
爱好:${paramValues.hobby[0]},${paramValues.hobby[1]},${paramValues.hobby[2]}

EL表达式的运算符(出了大括号,就是html的元素了)
1.判断获取的对象是否为空:
<c:if test=‘${empty msg}‘></c:if> ========== if(msg == null)
2.非空判断:
<c:if test=‘${not empty msg}‘></c:if> ========== if(msg != null)
3.与操作:
${not empty msg and msg != ""}
4.或操作
${not empty msg or msg != ""}
5.非操作
not ${not msg == ""}
6.等于操作
${stu.ssex == "男"}
7.不等于
${stu.ssex != "男"}
8.运算符
${index +1}
9.关于EL表达式的所有判断或运算,都要在{}中实现,因为出了大括号就是html的静态文本了

EL:Express Language,表达式语言

标签:cte   内容   setattr   pre   转换   res   set   导航   enc   

原文地址:https://www.cnblogs.com/longmo666/p/13298225.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!