struts2 显示map中一个值的问题
Map定义:
Map<Integer,String> stateMap;
key是Integer类型,是状态的代码,存储在数据库中
value是string类型,是状态的名称
我把stateMap存在application中,前台struts2做一个页面,怎么把state的代码用名称显示出来?
------解决方案--------------------怎么把state的代码用名称显示出来?
你的意思是要显示may中的value值么?
------解决方案--------------------<s:iterator value="stateMap">
<s:property value="key">
<s:property value="value">
</s:iterator>
------解决方案--------------------这是映射map.get(rs.getInt("value"))
map里面存着key和value 你在数据库里面查出来Key值,在通过映射,找到value
------解决方案-------------------- <table border="1">
<s:iterator value="dataMap.keySet()" id="class">
<s:iterator value="dataMap.get(#class).keySet()" id="group">
<tr>
<td><s:property value="group"/></td>
<s:iterator value="dataMap.get(#class).get(#group).values()" id="name">
<td><s:property value="name"/></td>
</s:iterator>
</tr>
</s:iterator>
</s:iterator>
</table>
像这种形式用吧。
------解决方案--------------------不太明白lz的意思
------解决方案--------------------那不就是了,你的stateMap是以键值对形式存储的啊,key是状态代码,你不想显示,就显示value啊,value是string类型,是状态的名称,
------解决方案--------------------<s:iterator value="#application.stateMap">
<s:property value="key">
<s:property value="value">
</s:iterator>
------解决方案--------------------
------解决方案-------------------- <%
Map stateMap=new HashMap();
stateMap.put(1,"普通用户");
stateMap.put(2,"管理员");
stateMap.put(3,"超级管理员");
application.setAttribute("stateMap",stateMap);
%>
<!-- 这是循环出stateMap所有的值 -->
<s:iterator value="#application.stateMap" id="state">
${state.key}<!-- 你所谓的状态代码 -->
${state.value}<!--代码对应的状态名称 -->
<br/>
</s:iterator>
<hr/>
<!-- 这里根据 状态代码 获取 对应的状态名称 -->
<%
//假设用户的state 值是 3
request.setAttribute("userState",3);
%>
<!-- 此处 根据 key 获取 value -->
<s:iterator value="#application.stateMap[#request.userState]" id="stateName">
<s:property value="stateName" />
</s:iterator>
是要这种效果么?
------解决方案--------------------