不循环直接使用EL表达式取出List的各个元素

chenmiaoquan2008 2011-11-13 07:57:42
如题,如何不适用类似于<c:forEach>之类的标签,只是使用EL取出List的各个元素,公司要求....分数不多,....大家帮忙!!!!!
...全文
28387 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
plg17 2014-06-22
  • 打赏
  • 举报
回复
看一下代码,运行过的。
<%@ page language="java" import="java.util.*, jQueryProject.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>测试EL遍历List</title>
</head>
<body>
<%
stud s1 = new stud();
List<stud> listaa = new ArrayList<stud>();
s1.setId(1000L);
s1.setName("aa");
s1.setAge(10);
listaa.add(s1);
s1 = new stud();
s1.setId(10001L);
s1.setName("你妹");
s1.setAge(20);
listaa.add(s1);
s1 = new stud();
s1.setId(1002L);
listaa.add(s1);

pageContext.setAttribute("listbb", listaa);
%>
<table>
<tr>
<td>长度:${fn:length(listbb)}</td>
</tr>
<tr>
<td width="165">ID:${listbb.get(0).id }</td>
<td width="165">名字:${listbb.get(0).name }</td>
<td>年龄:${listbb.get(0).age }</td>
</tr>
<tr>
<td>ID:${listbb.get(1).id }</td>
<td>名字:${listbb.get(1).name }</td>
<td>年龄:${listbb.get(1).age }</td>
</tr>
<tr>
<td>ID:${listbb.get(2).id }</td>
<td>名字:${listbb.get(2).name }</td>
<td>年龄:${listbb.get(2).age }</td>
</tr>
</table>
</body>
</html>

运行结果:(不知道为什么截图上传不了)
长度:3
ID:1000 名字:aa 年龄:10
ID:10001 名字:你妹 年龄:20
ID:1002 名字: 年龄:0

其中stud的定义:
package jQueryProject;

public class stud {
Long id;
String name;
int age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
ihss23 2014-05-06
  • 打赏
  • 举报
回复
${list[0].XXX属性}是可行的。 这个list就是你的那个列表名。没有别名。
ihss23 2014-05-06
  • 打赏
  • 举报
回复
${list[0].XXX属性}是可行的。
赵Andy 2012-02-19
  • 打赏
  • 举报
回复
类似这样?

<c:forEach var="product" items="${novel}" varStatus="status">
<div class="list_r_line"></div>
<div class="clear"></div>
<div class="list_r_list">
<span class="list_r_list_book"><a name="link_prd_img" href='#'>
<img src="${product.productPicture}" /> </a> </span>
<h2>
<a name="link_prd_name" href='#'>${product.productName}</a>
</h2>
</c:forEach>


forgetsam 2012-02-18
  • 打赏
  • 举报
回复
你先告诉我不写标签你的EL写在哪里。
默雨茗 2012-02-18
  • 打赏
  • 举报
回复
如果可以用struts标签的话 可以用标签迭代<s:iterator>
a657594478 2012-02-18
  • 打赏
  • 举报
回复
<c:forEach items="sessionScope.list" var="l">

然后在这里面进行获取${l.XXX}
</c:forEach>
xiongzhe90 2012-02-18
  • 打赏
  • 举报
回复
thank you !!!
chenjihong1989 2012-02-18
  • 打赏
  • 举报
回复
6楼是对的。
funfenffun 2011-11-14
  • 打赏
  • 举报
回复
重复发帖了
${list[index]}和java代码直接遍历list都行
beiguaxiezi 2011-11-14
  • 打赏
  • 举报
回复
想不出什么办法...
thislovebyyou 2011-11-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xiao_535774710 的回复:]
直接 list[0] 就可以了
<s:property value="list.{#this.stuId>2==true ? #this.stuName : 0}"/><br/>
<s:property value="list[0].stuName"/><br/>
${list[0].stuName} <br/>
[/Quote]
为了分,别什么都干。回复至少要负点责任。
不使用标签,除了在JSP写FOR循环,我想不到别的办法了额!
xiao_535774710 2011-11-14
  • 打赏
  • 举报
回复
直接 list[0] 就可以了
<s:property value="list.{#this.stuId>2==true ? #this.stuName : 0}"/><br/>
<s:property value="list[0].stuName"/><br/>
${list[0].stuName} <br/>

81,092

社区成员

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

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