您的位置:首页 > Web前端 > JavaScript

JSP EL表达式获取数据

2014-09-25 23:48 459 查看
EL表达式基本格式:${}

EL表达式只能获取4大域里面的参数:(page,request,sission,applition)

EL表达式要获取数据的格式:${p} p是4大域里获取的参数

<jsp:useBean id="p" class="domain.Person" scope="page"></jsp:useBean>
<jsp:setProperty property="name" name="p" value="xixix"/>

<jsp:getProperty property="name" name="p"/><br><%--jsp表达式 --%>
<%=p.getName() %><br>
${p.name }<br><%--EL表达式 --%>
上面${p.name}的意思是从p对象获取getname方法的值。

EL表达式在获取的值为null的时间是不会输出的,用EL表达式是不会出现空指针异常。

在${}里实现的是pageContext.findAttribute()这个方法

所以:

pageContext.setAttribute("qq", "qq1", pageContext.PAGE_SCOPE);
pageContext.setAttribute("qq", "qq2", pageContext.REQUEST_SCOPE);
pageContext.setAttribute("qq", "qq3", pageContext.SESSION_SCOPE);
pageContext.setAttribute("qq", "qq4", pageContext.APPLICATION_SCOPE);
在上面这串代码中:用${qq}获取值的先后顺序是 page,request,session,application。

--------------------------------用EL表达式也可以获取到数组,Collect,Map类--------------------------------------------

-- . (点)可以用[](中括号)代替 但是[](中括号)不一定可以用. (点)代替 --

--获取数组中指定的元素 --

<%

String str[] = {"a","b","c"};
pageContext.setAttribute("str", str);
%>

${str[1]}
${str[100]}


--获取list中的元素 --

<%
LinkedList list = new LinkedList();
list.add("xxx");
list.add("sss");
list.add("www");

pageContext.setAttribute("list", list);
%>

${list[1] }


--获取Map中的元素 --%><%--如果put索引号是用数字,必须map["数字"] --

<%
Map map = new HashMap();

map.put("1", new Computer("e5300","2g"));
map.put("b", new Computer("i3 530","4g"));
//map.put("3", new Computer("i7 980","6g"));

//map.put("a", "elele");
//map.put("b", "qweqw");

pageContext.setAttribute("map", map);
%>
${map["1"].cpu}<br>
${map.b.memory }<br>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: