wake-up-neo.net

Konvertiert einen Integer-Wert mit JSTL/EL in einen String

Wie korrigiere ich diese Aussage:

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

myHashtable ist definiert als

Hashtable<String, String>

Aber ${model.data.id} gibt eine int zurück.

Ich habe versucht, so etwas zu tun

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

Aber es funktioniert nicht. Irgendwelche anderen Ideen, außer den Typ von id zu String zu ändern?

17
geffchang

Setze es als Body von <c:set>. Es wird implizit in String konvertiert.

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

sie können org.Apache.commons.collections4.map.CaseInsensitiveMap verwenden. Sowohl String "1" als auch int 1 sind der gleiche Schlüssel.

0

$ {''. concat (model.data.id)} funktioniert für mich, Sie können es versuchen.

0
Chaojun Zhong

In der JSP-Datei:

<%@ 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}" />
0
foobarfuu