Struts2 关于s:iterator标签的问题
我从后台向界面传递了两个List一个是String类型的,一个是map类型的我循环输出map类型的List,在这个循环中,有一部分map的Key是要循环那条String类...
我从后台向界面传递了两个List
一个是String类型的 ,一个是map类型的
我循环输出map类型的List,在这个循环中,有一部分map的Key是要循环那条String类型的List得到,怎么才能做到呢
<s:iterator value="mapList" status="status">
<tr>
<td><s:property value="1" /></td>
<!-- 这里需要循环String类型的List做Key -->
<td><s:property value="3" /></td>
<td><s:property value="4" /></td>
<td><s:property value="5" /></td>
<td><s:property value="6" /></td>
<td><s:property value="7" /></td>
<td><s:property value="8" /></td>
</tr>
</s:iterator> 展开
一个是String类型的 ,一个是map类型的
我循环输出map类型的List,在这个循环中,有一部分map的Key是要循环那条String类型的List得到,怎么才能做到呢
<s:iterator value="mapList" status="status">
<tr>
<td><s:property value="1" /></td>
<!-- 这里需要循环String类型的List做Key -->
<td><s:property value="3" /></td>
<td><s:property value="4" /></td>
<td><s:property value="5" /></td>
<td><s:property value="6" /></td>
<td><s:property value="7" /></td>
<td><s:property value="8" /></td>
</tr>
</s:iterator> 展开
1个回答
展开全部
我说说我的理解你看对不对。你是想从list<String>中取出所有的值,然后判断,如果map中有key值和从list中的相同,那么就输出这个map的key和value。
如果你的问题是我说的那样,你不应该在前台页面做这些事。这些属于业务逻辑,不是前台应该管的。我的思路是,在后台里循环输出list<String>里的东西,然后用map接口的containsKey(Object key)判断并把符合条件的map的key和value拿出来(也可以拿出来Map.Entry),然后把拿出来的这些放到一个新Map中,再向前台传递新的Map,这样输出的时候很简单,而且业务逻辑都在后台。伪代码如下:
List oldlist_s<String> = new ArrayList<String>();
List oldlist_m<String> = new ArrayList<HashMap<String key,String value>>();
//遍历Map类型的list
for(int i=0;I<oldlist_m.size();i++){
//从很多map中挑出你要用的那个,比如用户名和密码的map
HashMap usermap=oldlist_m.get(i);
}
//遍历String类型的list
for(int i=0;I<oldlist_s.size();i++){
String temp = oldlist_s.get(i);
//判断Map中是否包含temp
if(usermap.containsKey(temp)){
//取出key和value
//把取出的值放到新的Map中
}
}
如果你的问题是我说的那样,你不应该在前台页面做这些事。这些属于业务逻辑,不是前台应该管的。我的思路是,在后台里循环输出list<String>里的东西,然后用map接口的containsKey(Object key)判断并把符合条件的map的key和value拿出来(也可以拿出来Map.Entry),然后把拿出来的这些放到一个新Map中,再向前台传递新的Map,这样输出的时候很简单,而且业务逻辑都在后台。伪代码如下:
List oldlist_s<String> = new ArrayList<String>();
List oldlist_m<String> = new ArrayList<HashMap<String key,String value>>();
//遍历Map类型的list
for(int i=0;I<oldlist_m.size();i++){
//从很多map中挑出你要用的那个,比如用户名和密码的map
HashMap usermap=oldlist_m.get(i);
}
//遍历String类型的list
for(int i=0;I<oldlist_s.size();i++){
String temp = oldlist_s.get(i);
//判断Map中是否包含temp
if(usermap.containsKey(temp)){
//取出key和value
//把取出的值放到新的Map中
}
}
追问
首先非常感谢能抽出时间来回来我的问题。
我的需求是这样的
map里的key有123456789其中 1234是肯定要显示的 56789是需要动态生成的,我不确定这里面到底有哪个key所有传过来一个list(String)来帮助区分。我无法判断我这里list(map) 的key
谢谢你,我尝试一下别的思路
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询