2009-12-11 6 views
0

, пытающегося получить доступ к значению с карты в теге c: out, но следующее не отображает какое-либо значение. Вот код:доступ к значениям на карте с использованием тега c: out

<c:out value=" letterForm.criteria.map['letterForm.criteria.type']" /> 

кого-нибудь есть идеи, как получить значение из карты, кроме, используя следующий код, как это кажется немного неэффективным, поскольку мы имеем карту и знать значение ключа.

<c:forEach var="exCovValue" items="${letterForm.criteria.map}"> 
    <c:if test="${exCovValue.key == letterForm.criteria.type}"> 
     <c:set var="extraCoverValue" value="${exCovValue.value}" /> 
    </c:if> 
</c:forEach> 

Благодаря

ответ

3

Вы ушли из ${}. Попробуйте это:

<c:out value="${letterForm.criteria.map['letterForm.criteria.type']}" /> 
1

Это сработало:

<c:out value="${letterForm.criteria.map[letterForm.criteria.type]}" /> 

пытался это так:

<c:out value="${letterForm.criteria.map['letterForm.criteria.type']}" /> 

но удаление кавычки (') работал.

+0

oops, забыли, что в примере! приветствия для помощи – Travis

+0

«letterForm.criteria.type» - это переменная, которая имеет значение, которое, по-видимому, является одним из ключей карты. '' LetterForm.criteria.type'' - простая ванильная строка, которая, по-видимому, не является одним из ключей карты. Вы теперь понимаете, почему он ведет себя так? – BalusC

Смежные вопросы