EL表达式:
EL:Expression Language,可以代替JSP中的java代码
Servlet(增加数据)—>jsp(显示数据)
EL示列:
${requestScope.student.address.schoolAddress}
${域对象.域对象中的属性.属性.属性.级联属性}
EL操作符:
点操作符 . 使用方便
中括号操作符 --功能强大:
1、可以访问数组:
在servlet中设置数组
String [] hobbies = new String [] {"123","34"};
request.setAttribute("hobbies", hobbies);
在jsp中可以通过访问
${requestScope['hobbies'][0] };
${requestScope.hobbies[1] };
2、可以包含特殊字符(. \ -) ,
3、可以访问数据获取变量值
例如:存在变量name 则可以${requestScope[name]}
4、获取map属性
Map<String,Object> map=new HashMap<>()
Map.put(“cn”,”中国”);
request.setAttribute(“map”,map);
${requestScope.map.cn}
EL关系运算符 逻辑运算符
Empty运算符
EL表达式的隐式对象(不需要new就能使用的对象 自带的对象)
- 作用于访问对象(EL域对象):pageScope requestScope sessionScope applicationScope
如果不指定域对象 则会从小到大顺序依次取值pageScope<requestScope <sessionScope <applicationScope
2.参数访问对象:访问表单数据以及地址栏中的也可以取(在jsp或servlet中是使用request.getParameter() request. getParameterValues())
在EL中与之对应的是${params} 、${paramValues}
<form action="el.jsp">
用户名:<input name="uname" type="text"><br/>
兴趣:<br/>
足球:<input name="hobbies" value ="football" type="checkbox"><br/>
篮球:<input name="hobbies" value ="basktball" type="checkbox"><br/>
乒乓球:<input name="hobbies" value ="pingpongball" type="checkbox"><br/>
<input type="submit" value="注册">
</form>
--参数对象--<br/>
${param.uname }<br/>
${paramValues.hobbies[0] }<br/>
${paramValues.hobbies[1] }<br/>
${paramValues.hobbies[2] }<br/>
3.JSP隐式对象:pageContext
在jsp中可以通过pageContext 获取其他的jsp隐式对象(9大内置对象);因此如果要在EL中使用JSP隐式对象,就可以通过pageContext间接获取。列如${pageContext.request}
想要${pageContext.getSession()} ----在EL中------->${pageContext.session}
想要${pageContext.Response} ----在EL中------->${pageContext.response}