0

私は自分のマップを繰り返し処理しています:

次のように、コントローラー モデル属性にマップを配置します。

model.addAttribute("myMap", realMapObject);

JSP コード:

<c:forEach items="${myMap}" var="entry">
..... works perfectly iteration itself
.....

そして、myMapエントリ キーが別のマップに存在するかどうかを確認する必要があります ( anotherMap)。私はこれを試しました:

model.addAttribute("anotherMap", realMapObjectAnotherMap);

JSP コード:

<c:forEach items="${myMap}" var="entry">
    .....
    .....works perfectly 
 <c:choose>
 <c:when test="${not empty ${anotherMap['${entry.key}']}}">
        <h2>${entry.key} - YES</h2>
 </c:when>

 <c:otherwise>
        <h2>${entry.key} - NOT</h2>
 </c:otherwise>
 </c:choose>

次のエラーが表示されます。

無効な式が含まれています: javax.el.E​​LException: 解析エラー:

4

1 に答える 1

3

のようなEL式をネストすることはできません${ ${ } }。同じ単一のEL式でそれを行う必要があります。

<c:when test="${not empty anotherMap[entry.key]}">

参照:

于 2012-10-23T16:30:49.290 に答える