1)EL表达式用于获取数据,在Jsp页面中可使用${标识符}的形式,通知jsp引擎调用pageContext.findAttribute()方法,以标识符为关键字从各个域中获取对象,如果域对象不存在标识符所对应的对象,则返回结果为”“(注意:不是null)
2)EL表达式中也可以使用${customerBean.address}的形式开访问JavaBean对象的属性
3)EL表达式也可使用类如${1==1}的形式进行简单的逻辑判断。
4)案例:
案例一:
<%
String data = "abce";
request.setAttribute("data",data);//假设这是从servlet转发来的数据
%>
${data }<%-- pageContext.findAttribute("data") //page request session application--%>
案例二:
<%
Person p = new Person();
p.setName("aaa");
request.setAttribute("person",p);
%>
${person.name }<%-- pageContext.findAttribute("person") --%>
案例三:
<%
Person p = new Person();
Address a = new Address();
a.setCity("shanghai");
p.setAddress(a);
request.setAttribute("person",p);
%>
${person.address.city }
案例四:
<%
List list = new ArrayList();
list.add(new Person("aaa"));
list.add(new Person("bbb"));
request.setAttribute("list",list);
%>
${list[1].name }//迭代全部元素需要配合Jstl一起用
或者${list['1'].name }//取不到数据元素时,有时候加个单引号会达到效果
案例五:
<%
Map map = new HashMap();
map.put("aa", new Person("aa"));
map.put("bb", new Person("bb"));
map.put("cc", new Person("cc"));
request.setAttribute("map",map);
%>
${map.bb.name }//若key全是数字,如“111”,${map['111'].name }
//在el表达式中取数据时,通常用.号,.号取不出来时,使用[]
5)${pageContext.request.contextPath }//得到当前web应用名称
6)JSTL标签库
__1JSTL是sun公司开发的一套标签库,使用JSTL可以在页面中实现一些简单的逻辑,从而替换页面中的脚本代码。
__2在页面中使用jstl标签需要完成以下2个步骤:
导入jstl.jar和standed.jar这两个JSTLjar文件。
在jsp页面中使用<%@taglib uri=”” prifix=”“%>元素导入标签库
__3JSTL标签库中常用标签:
<c:forEach var="" items="">
<c:if test="">
7)使用jstl步骤:
__1stand.jar–> META-INF –>c.tld ->找到uri的值 –><%@taglib url=”uri” prifix=”c”%>
__2案例:
案例一:
<%
List list = new ArrayList();
list.add(new Person("aaa"));
list.add(new Person("bbb"));
request.setAttribute("list",list);
%>
<c:forEach var="person" items="${list}">
${person.name }<br/>
</c:forEach>
案例二:
<%
Map map = new HashMap();
map.put("aa", new Person("aa"));
map.put("bb", new Person("bb"));
map.put("cc", new Person("cc"));
request.setAttribute("map",map);
%>
<c:forEach var="entry" items="${map}">//map.entrySet() Set<Map.entry>
${entry.key } : ${entry.value.name }<br/>
</c:forEach>
案例三:
<c:if test="${user!=null}">
欢迎您:${user.username }
</c:if>
<c:if test="${user==null}">
用户名:<input type="text"/>
密 码:<input type="password"/>
</c:if>
案例四:
${param.参数名 }可以获取请求地址中参数的值