C 标签

zijie410 2010-02-02 10:17:29
这是我Struts中的重要代码。city中也有数据。
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
List<CityArea> city = cityAreaDao.search(1, null, null, null, null);

request.setAttribute("city", city);

return mapping.findForward("JS");
}
这个struts 跳转到JSP 以下是我JSP的重要代码
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page import="com.bafang.pojos.CityArea"%>
<body>
<c:forEach items="${city }" var="c">
${c.name }
</c:forEach><br/>

<%
List<CityArea> city =(List<CityArea>) request.getAttribute("city");
if(city!=null && city.size()>0)
{
for(CityArea c:city)
{
%>
<%=c.getName() %>
<%
}
}
%>
</body>
我在JSP里用脚本可以取得到数据,C标签取不到。为什么啊!帮帮忙!谢谢诶
这是我CityArea实体类里的字段
private Integer id;
private Integer subsiteId;
private Integer level;
private Integer parent;
private String name;
...全文
49 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zijie410 2010-02-02
  • 打赏
  • 举报
回复
这个是正确的, 就是从city里取数据,装到c里去,类型是CityArea
这是for循环啊 老大
蛋黄车 2010-02-02
  • 打赏
  • 举报
回复
LZ好像说反了吧:

for(CityArea c:city) 你这句话是啥意思?
  • 打赏
  • 举报
回复
写的好像没错。
zijie410 2010-02-02
  • 打赏
  • 举报
回复
在Action里打印有值,换后边的var="c" 也不管。我觉得四楼说的好像差不多啊!应该是不支持。
真不行用<c:out value="">试试。
hp_innovation 2010-02-02
  • 打赏
  • 举报
回复
{requestScope.city} // 如果不行 你先在action中打印测试 看是否有值.
蛋黄车 2010-02-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zijie410 的回复:]
这个是正确的, 就是从city里取数据,装到c里去,类型是CityArea
这是for循环啊  老大
[/Quote]

又学习了,但是我看你上面的那个foreach的循环也没有错啊!
hfliyy 2010-02-02
  • 打赏
  • 举报
回复
在后者换个变量名字: <c:forEach items="${city }" var="c">
hfliyy 2010-02-02
  • 打赏
  • 举报
回复
是不是不支持EL表达式,在page指令里有个属性是控制EL表达式的,看看去吧。
发帖
Java

4.9w+

社区成员

Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
帖子事件
创建了帖子
2010-02-02 10:17
社区公告
暂无公告