Map定义:
Map<Integer,String> stateMap;
key是Integer类型,是状态的代码,存储在数据库中
value是string类型,是状态的名称我把stateMap存在application中,前台struts2做一个页面,怎么把state的代码用名称显示出来?
Map<Integer,String> stateMap;
key是Integer类型,是状态的代码,存储在数据库中
value是string类型,是状态的名称我把stateMap存在application中,前台struts2做一个页面,怎么把state的代码用名称显示出来?
你的意思是要显示may中的value值么?
<s:property value="key">
<s:property value="value">
</s:iterator>
map里面存着key和value 你在数据库里面查出来Key值,在通过映射,找到value
<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>
像这种形式用吧。
举个例子,比如显示一个员工的信息,他的信息包含state,但是我不能显示这个状态代码啊,怎么转换成stateMap中这个代码对应的状态名称显示出来。还有一点,这个map是在application对象中的
<s:property value="?"/>
怎么写
<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> 是要这种效果么?