Подтвердить что ты не робот

Преобразование целочисленного значения в строку с использованием JSTL/EL

Как исправить это утверждение:

${model.myHashtable[model.data.id]}.

myHashtable определяется как

Hashtable<String, String>

Но ${model.data.id} возвращает int.

Я попытался сделать что-то вроде

${model.myHashtable['model.data.id']}

Но это не сработает. Любые другие идеи, кроме изменения типа id до String?

4b9b3361

Ответ 1

Установите его как тело <c:set>. Он будет неявно преобразован в String.

<c:set var="idAsString">${model.data.id}</c:set>
<c:out value="${model.myHashtable[idAsString]}" />

Ответ 2

вы можете использовать org.apache.commons.collections4.map.CaseInsensitiveMap как String "1", так и int 1 - это один и тот же ключ;

Ответ 3

${''. concat (model.data.id)} работает для меня, вы можете попробовать.

Ответ 4

В JSP файле:

<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>

<!-- lines of code... -->

<fmt:parseNumber var = "id_value" type = "number" value = "${model.data.id}" />
<c:out value = "${id_value}" />