关于EL表达式的一个小问题,请教

caofeng891102 2011-01-09 07:17:02
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


<%
Map map=new HashMap();
map.put(1,"苹果");
map.put(2,"梨子");
map.put(3,"香蕉");
%>

<c:forEach var="entry" items="${map}">
下一个元素的键是${entry.key }
下一个元素的值是${entry.value }<p/>
</c:forEach>


为什么没有结果,不知道哪错了?
还有<% %>里面定义的变量是不是属于page范围内?
谢谢,刚学Jsp没多久。。
...全文
75 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xtawgipl 2011-01-10
  • 打赏
  • 举报
回复
<c:forEach var="entry" items="${map}">
前提是要放在page/session/application/request中。。。
Inhibitory 2011-01-10
  • 打赏
  • 举报
回复
EL只操作属性,所操作的类应该是JavaBean规范的,所操作的属性要有getter, setter.
${user.username}: 默认是从request(page)中取,如果request中没有名为username的对象则从session中取,session中没有则从application(servletContext)中取,如果没有取到任何值则不显示。
hyuk2460 2011-01-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 coolhty 的回复:]

Java code

<%
Map map=new HashMap();
map.put(1,"苹果");
map.put(2,"梨子");
map.put(3,"香蕉");
//pageContext.setAttribute.setAttribute("map",map);
//上面这行写错了,改成下面这行
pageContext.setAttribute("map",map);
%>
……
[/Quote]

顶这个 要么是request传到页面的map?
coolhty 2011-01-09
  • 打赏
  • 举报
回复

<%
Map map=new HashMap();
map.put(1,"苹果");
map.put(2,"梨子");
map.put(3,"香蕉");
//pageContext.setAttribute.setAttribute("map",map);
//上面这行写错了,改成下面这行
pageContext.setAttribute("map",map);
%>
coolhty 2011-01-09
  • 打赏
  • 举报
回复
楼主,items只能从Web容器里面取值的!


<%
Map map=new HashMap();
map.put(1,"苹果");
map.put(2,"梨子");
map.put(3,"香蕉");
%>

改成

<%
Map map=new HashMap();
map.put(1,"苹果");
map.put(2,"梨子");
map.put(3,"香蕉");
pageContext.setAttribute.setAttribute("map",map);
%>


这样就可以了。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧