当前位置: 代码迷 >> Java Web开发 >> 碰到个后台传Map到前台通过key取值的有关问题
  详细解决方案

碰到个后台传Map到前台通过key取值的有关问题

热度:63   发布时间:2016-04-16 22:02:03.0
碰到个后台传Map到前台通过key取值的问题
action里面传的
Map<String, String> rpMap = new HashMap<String, String>();

key值1  2  3  4  5  6...
jsp页面
<s:property value="#request.rpMap['']"/>

填入key>9才能显示出value值,这是为什么啊  求个回答解释开导一下
------解决方案--------------------
你把它存到request域里面去了吗?

如果存了,那么你有对应的get,set方法吗?
如果有了,map中有值吗?

如果有了,我给你举一个例子:


    <% 
     Map map = new HashMap();
     map.put("a","aaaaxxx");
     map.put("b","bbbb");
     map.put("c","cccc");
    
     map.put("1","aaaa1111");
    
     request.setAttribute("map",map);
    %>
    
    ${map.a }
    ${map["1"] }


所以你应该这样写:
<s:property value="#request.rpMap['1']"/>
------解决方案--------------------
应该不会,你key 有没有空格之类的l
------解决方案--------------------
引用:
Quote: 引用:

你把它存到request域里面去了吗?

如果存了,那么你有对应的get,set方法吗?
如果有了,map中有值吗?

如果有了,我给你举一个例子:


    <% 
     Map map = new HashMap();
     map.put("a","aaaaxxx");
     map.put("b","bbbb");
     map.put("c","cccc");
    
     map.put("1","aaaa1111");
    
     request.setAttribute("map",map);
    %>
    
    ${map.a }
    ${map["1"] }


所以你应该这样写:
<s:property value="#request.rpMap['1']"/>


这个,我的问题就是能读出来值  但是里面填写1到9取不出来值 10+以后的都可以取值出来  很疑惑


你看看你的10之前对应的value有值吗?
你通过  ${map.a }
    ${map["1"] }
这种方法试一试,还有把你的代码贴出来
------解决方案--------------------
引用:
Quote: 引用:

你把它存到request域里面去了吗?

如果存了,那么你有对应的get,set方法吗?
如果有了,map中有值吗?

如果有了,我给你举一个例子:


    <% 
     Map map = new HashMap();
     map.put("a","aaaaxxx");
     map.put("b","bbbb");
     map.put("c","cccc");
    
     map.put("1","aaaa1111");
    
     request.setAttribute("map",map);
    %>
    
    ${map.a }
    ${map["1"] }


所以你应该这样写:
<s:property value="#request.rpMap['1']"/>


这个,我的问题就是能读出来值  但是里面填写1到9取不出来值 10+以后的都可以取值出来  很疑惑

------解决方案--------------------
把request去掉试一试呢?你加到request域里面没有哟
  相关解决方案