このステートメントを修正するにはどうすればよいですか。
${model.myHashtable[model.data.id]}.
myHashtableは次のように定義されます
Hashtable<String, String>
だが、 ${model.data.id}
はint
を返します。
私は次のようなことをしようとしました
${model.myHashtable['model.data.id']}
しかし、それは機能しません。 id
のタイプをString
に変更する以外に、他のアイデアはありますか?
<c:set>
の本体として設定します。暗黙的にString
に変換されます。
<c:set var="idAsString">${model.data.id}</c:set>
<c:out value="${model.myHashtable[idAsString]}" />
org.Apache.commons.collections4.map.CaseInsensitiveMapを使用できます。String "1"とint1はどちらも同じキーです。
$ {''。concat(model.data.id)}は私のために働きます、あなたはそれを試すかもしれません。
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}" />