为什么要引入EL表达式?
a.解决页面中的空值问题。避免繁琐的scriptlet脚本<%%>这种方式的java代码。
b.它的使用范围,主要就是用来显示数据的。
c.el表示式可以很轻松的读取从servlet里发送到jsp页面的数据:比如:
在servlet里的数据:
String a="hello,this is el"; String b ="hello,this is session value"; req.setAttribute("a", a); HttpSession session = req.getSession(); session.setAttribute("b", b); req.getRequestDispatcher("demo2.jsp").forward(req, resp); |
在jsp页面里显示数据的时候:
从servlet里发送过来的a值:${a} 从servlet 里发送过来的b值:${b} |
|
d.el表示式的变量搜索范围。
|
|
|
f:el中隐含的变量。
param:表示从另外一个页面或者另外一个servlet里发送过来的变量值,等同于request.getParameter(“变量名”).比如案例:
在add.jsp页面里:
<form action="result.jsp" method="get"> <input type="text" name="num1"/> + <input type="text" name="num2"/> <input type="submit" value="="/> </form> |
在result.jsp页面里:
结果的和:${param.num1+param.num2} |
需要特别注意的:EL有自动类型进行转换的作用。
内置的变量:
变量名 | 作用 |
param | 等同于request.getParameter |
requestScope | 等同于request中获取值 |
pageScope | 等同于pageContext获取值 |
sessionScope | 等同于从页面的session变量中获取值 |
applicationScope | 等同于从页面的application获取值 |
使用EL表达式的语法:
${表达式的值}