0

学习jsps。对嵌套表达式有疑问。我在 servlet 中创建一个列表和映射,将其添加到请求属性中并将其分派给 jsp。在 jsp 中,我只是想读取这些值。

在 servlet 中设置属性:

    List<String> someList = new ArrayList<String>();
    someList.add("one");someList.add("two");someList.add("three");
    Map<String,Integer> m = new HashMap<String,Integer>();
    m.put("one", 1);
    m.put("two", 2);
    m.put("three", 3);
    req.setAttribute("someList",someList);
    req.setAttribute("hmap", m);

jsp代码:

<body>
    <br> list : ${someList}
    <br>
    <br> map:${hmap}
    <br />
    <br> using JSTL: ${hmap["${someList['0']}"]} is the value for key
    ${someList["0"]}
    <br />
    <br /> USING hardocded ${hmap["one"]} is the value for key one
    <br />
</body>

html输出

list : [one, two, three] 

map:{two=2, one=1, three=3} 

using JSTL: is the value for key one 

USING hardocded 1 is the value for key one 

为什么我使用嵌套的 jstl 得到空白空间:${hmap["${someList['0']}"]},这是正确的方法吗?

4

1 回答 1

0

试试这个:

${hmap[someList["0"]]} 
于 2013-10-10T11:55:59.057 回答