使用struts2标签再JSP页面中 遍历出我的Action 肿的LIST,应该怎样写啊?

// 查书
public String select() {

list = bookServices.bookServiceSelect(book);
if (list.size() > 0) {
return SUCCESS;
}
return ERROR;
}

使用struts2标签再JSP页面中用s:iterator方法可以遍历action中的list:
1、action中的list

public class ToMainAction extends ActionSupport implements RequestAware
{
private IBoarderDao boardDao = new BoardDaoImpl();
private ITopicDao topicDao = new TopicDaoImpl();
private IUserDao userDao = new UserDaoImpl();
private Map<String, Object> request;
public void setBoardDao(IBoarderDao boardDao)
{
this.boardDao = boardDao;
}
public void setTopicDao(ITopicDao topicDao)
{
this.topicDao = topicDao;
}
public void setUserDao(IUserDao userDao)
{
this.userDao = userDao;
}
public String execute()
{
// 板块列表
List<Board> boards = boardDao.getAllBoard();
List<Integer> count = new ArrayList<Integer>();
List<User> users = new ArrayList<User>();
List<Topic> lastTopic = new ArrayList<Topic>();
if (null != boards)
{
for (Board b : boards)
{
// 回帖数
List<Topic> topic = topicDao.getTopicByBoardId(b.getBorderId());
if (null != topic)
{
int num = topic.size();
count.add(num);
} else
{
count.add(0);
}
// 最近更新
Topic t = topicDao.getLastTopic(b.getBorderId());
lastTopic.add(t);
// 最近更新的作者
User u = userDao.getUserByuId(t.getUid());
users.add(u);
}
request.put("boards", boards);
request.put("count", count);
request.put("users", users);
request.put("lastTopic", lastTopic);
}
return SUCCESS;
}
public void setRequest(Map<String, Object> request)
{
this.request = request;
}
}
2、jsp中遍历写法:
list.jsp
<%@ taglib uri="/struts-tags" prefix="s"%>
<s:if test="#request.boards!=null">
<s:iterator value="#request.boards" id="b" status="st">
<tr>
<td width="6%" height="68">
</td>
<td width="67%">
<div align="left" class="blueSpan">
<img src="images/topic.gif" width="18" height="21" />
<a href="logined/ToListAction?boardId="+<s:property value="#b.borderId"/>+">
<s:property value="#b.borderName" />
</a>
</div>
</td>
<td>
<s:property value=" #request.count[#st.index]" />
</td>
<td>
<br />
<p align="left">
<s:property value="#request.lastTopic[#st.index].title" />
</p>
<br />
<p align="left">
<s:property value=" #request.lastTopic[#st.index].userName" />
</p>
<br />
<p align="left">
修改时间:
<br/>
<s:property value=" #request.lastTopic[#st.index].modifyTime" />
</p>
<br />
</td>
</tr>
</s:iterator>
</s:if>
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-14
你这么写不对啊,在return之前 你必须先将list存到request或者session中啊。
request.setAttribute("pagelist",list);先将list存入request中 叫做pagelist
假设你的book类中
book由bookid和bookname两个属性

页面
首先导入struts2标签 我这里起别名sa
<%@taglib prefix="sa" uri="/struts-tags"%>
然后再<body></body>中
<sa:iterator value="#request.pagelist" id="team" >
书号:<sa:property value="bookid" />
书名:<sa:property value="bookname" />
</sa:iterator>
当然你可以把这些数据都放入<table></table>的表格中本回答被提问者采纳
第2个回答  2011-04-14
action中可以将list存放在某个范围中,一般存放在request范围中
然后请求转发到另一个jsp页面,也就是 mapping.finforword方法
然后再jsp中用<%request.getAttribute("list")%> 就可以得到action中的值了,
稍后你也以用 for 或者 foreach 等便利啊追问

你给帮我写一下详细的步骤么,我才学,不会~~谢谢了

第3个回答  2011-04-14

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
后面加上
<%@taglib prefix="s" uri="/struts-tags"%>

然后遍历

<s:iterator value="list" status="stuts">
'${id}', ''${name}
</s:iterator>

id, name 是book对象的属性
第4个回答  2011-04-14
用s:iterator标签啊,该标签的value属性用来放你的集合,即:你Action里声明的那个list。