使用JSTL和变量作为参数从HashMap获取值

时间:2013-10-06 17:31:58

标签: java jstl

我有一个HashMap并尝试从中获取值,使用另一个变量作为参数。这是代码

<c:forEach var="t" items="${userTasks}">
        <tr>
            <td>${t.task}</td>
            <td><${t.deadline}</td>
            <td>${difficultyMap[${t.difficulty}]}</td>
            <td>${t.done}</td>
        </tr>
    </c:forEach>

difficultyMap - 我的HashMap,t.difficulty - 整数值。错误是

  

PWC6038:“$ {difficultyMap [$ {t.difficulty}”包含无效   表达式:javax.el.E​​LException:错误解析:   $ {difficultyMap [$ {t.difficulty}

$ {difficultyMap [1]}工作正常,但我需要使用变量作为参数,是否可能?

1 个答案:

答案 0 :(得分:0)

摆脱嵌套的${}。像这样:

<td>${difficultyMap[t.difficulty]}</td>

EL表达式使用前导美元符号($)以及前导和尾随大括号{}分隔。

由于您在表达式中,您不必创建另一个EL表达式来访问某个变量。