Jos*_*ial 8 iterator struts2 map
我正在尝试使用s:iterator迭代一个地图列表.我可以毫无问题地遍历List,但是我不能让它迭代遍历地图的条目.到目前为止,我有这个:
[..]
<s:iterator value="records" status="recordsStatus" var="record">
<s:if test="#recordsStatus.index ==0">
<tr>
<td colspan="*"></td>
</tr>
</s:if>
<tr>
<s:iterator value="record.entrySet()" status="fieldStatus">
<td>
<s:property value="key"/>/<s:property value="value"/>
</td>
</s:iterator>
</tr>
</s:iterator>
[..]
Run Code Online (Sandbox Code Playgroud)
标签生成
<tr></tr>
Run Code Online (Sandbox Code Playgroud)
对于每个条目,但它不会通过第二个迭代器,所以我想我在使用value属性做错了.你能帮帮我吗?
谢谢
何塞
Qua*_*ion 14
这是一个循环遍历地图列表的演示:
import com.opensymphony.xwork2.ActionSupport;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class mapTest extends ActionSupport {
public List<Map> listmap;
public String execute(){
listmap = new ArrayList();
Map map = new HashMap();
map.put("a", "alpha");
map.put("b", "bravo");
map.put("c", "charlie");
listmap.add(map);
Map map2 = new HashMap();
map2.put("d", "delta");
map2.put("e", "echo");
map2.put("f", "foxtrot");
listmap.add(map2);
return SUCCESS;
}
}
Run Code Online (Sandbox Code Playgroud)
这是用于呈现它的JSP:
<%@taglib prefix="s" uri="/struts-tags"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<h1>Map Test</h1>
<table>
<thead>
<tr>
<th>List #</th>
<th>key</th>
<th>value</th>
</tr>
</thead>
<tbody>
<s:iterator value="listmap" status="stat">
<s:iterator>
<tr>
<th><s:property value="#stat.index"/></th>
<td><s:property value="key"/></td>
<td><s:property value="value"/></td>
</tr>
</s:iterator>
</s:iterator>
</tbody>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
请注意,内部迭代器是上下文敏感的,它将使用压入堆栈的最后一个值.status属性为每次迭代提供了一个IteratorStatus对象,如果我们想知道当前的迭代,这对我们很有用.
| 归档时间: |
|
| 查看次数: |
32200 次 |
| 最近记录: |