Map定义:
Map<Integer,String> stateMap;
key是Integer类型,是状态的代码,存储在数据库中
value是string类型,是状态的名称我把stateMap存在application中,前台struts2做一个页面,怎么把state的代码用名称显示出来?

解决方案 »

  1.   

    怎么把state的代码用名称显示出来?
    你的意思是要显示may中的value值么?
      

  2.   

    <s:iterator value="stateMap">
       <s:property value="key">
       <s:property value="value">
    </s:iterator>
      

  3.   

    这是映射map.get(rs.getInt("value"))
    map里面存着key和value  你在数据库里面查出来Key值,在通过映射,找到value
      

  4.   

     <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>
    像这种形式用吧。
      

  5.   

    我不是要显示stateMap中所有的值,
    举个例子,比如显示一个员工的信息,他的信息包含state,但是我不能显示这个状态代码啊,怎么转换成stateMap中这个代码对应的状态名称显示出来。还有一点,这个map是在application对象中的
      

  6.   

    那不就是了,你的stateMap是以键值对形式存储的啊,key是状态代码,你不想显示,就显示value啊,value是string类型,是状态的名称,
      

  7.   

    用什么标签
    <s:property value="?"/>
    怎么写
      

  8.   

    <s:iterator value="#application.stateMap">
      <s:property value="key">
      <s:property value="value">
    </s:iterator>
      

  9.   


     <%
     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>  是要这种效果么?
      

  10.   

    呵呵,自己试出来了<s:property value="#application.stateMap[#person.state]"/>谢谢各位