使用JSTL / EL将整数值转换为字符串

时间:2010-08-26 14:31:23

标签: java jsp jstl el

如何更正此声明:

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

myHashtable定义为

Hashtable<String, String>

但是,${model.data.id}会返回int

我尝试做类似

的事情
${model.myHashtable['model.data.id']}

但它不起作用。除了将id的类型更改为String之外,还有其他任何想法吗?

5 个答案:

答案 0 :(得分:35)

将其设为<c:set>的正文。它将隐式转换为String

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

答案 1 :(得分:0)

你可以使用org.apache.commons.collections4.map.CaseInsensitiveMap字符串“1”和int 1都是相同的键;

答案 2 :(得分:0)

$ {''。concat(model.data.id)}对我有用,你可以尝试一下。

答案 3 :(得分:0)

在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}" />

答案 4 :(得分:-2)

${model.data.id} 返回一个整数,使用Hashtable ,解决了我的问题。如果 id 是数字,则 没用。