EL:Express Language,表达式语言
Posted longmo666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EL:Express Language,表达式语言相关的知识,希望对你有一定的参考价值。
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
equestsessionnapplication
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,表达式语言的主要内容,如果未能解决你的问题,请参考以下文章
java web006——表达式语言(Expression Language,EL)
数据库DQL(Data Query Language)语言学习之三:排序查询