日期:2014-05-19  浏览次数:20566 次

Jsp map 求高手解惑
我有个实体Person 他有个字段是SID  
里面的值是 12501 12502 12504
不是递增的
页面是
  <s:iterator value="persons" var="person" step="1" begin="0" status="st" >
  <tr>
<td>${person.sid}</td></tr>
  </s:iterator>
我在aciton里面定义了一个map
map=new HashMap();
map.put("12501", "北京");
map.put("12502", "天津");
  map.put("12504", "天津");
  map.put("12506", "天津");
ServletActionContext.getRequest().setAttribute("map:", map); 
页面上可以显示 ${map}  
我是想 能不能做一个循环
  <s:iterator value="persons" var="person" step="1" begin="0" status="st" >
  <tr>
<td>这里输入与${person.sid}对应的map的值</td></tr>
  </s:iterator>

------解决方案--------------------
<td>这里输入与${person.sid}对应的map的值</td></tr>

应该是输出吧。? 可以这么做吧
------解决方案--------------------
这个 很简单,你就把它当成是在类中做循环一样,可以迭代map的keys或者values,也可以通过map.get("key")直接取值。

例子:
<s:iterator value="persons.keys" var="key">
<tr>
<td>${persons[key]} 或者 <s:proeprty value="persons.get('key')" /></td>
</tr>
 </s:iterator>

我写的可能有错误 ,凭记忆写的。多尝试 就出来了嘛