2

我有一个包含 Map 的地图,我使用它在 jsp 页面上对其进行迭代

    <c:forEach var="schoolDetails" items="${schoolCodeIdMap}"> 
                                                  //below i am getting value from another map which contains String as a key.     
    <c:set var="smsStatsCalendar" value="${smsStats.get(schoolDetails.value)}"></c:set>

<c:foreach>

在上面的代码中,smsStats 包含字符串作为键,我传递整数值来获取对象。我如何将那 schoolDetails.value (int) 值转换为字符串以获取对象。

4

2 回答 2

6

您可以使用 将其设置为另一个变量c:set,它应该为您进行隐式字符串转换:

<c:forEach var="schoolDetails" items="${schoolCodeIdMap}"> 
    <c:set var="detailValue">${schoolDetails.value}</c:set>
    <c:set var="smsStatsCalendar" value="${smsStats.get(detailValue)}"/>
<c:foreach>

标签的正文c:set将始终被解释为纯文本,因此被String标签转换为变量。这与使用相反:

<c:set var="detailValue" value="${schoolDetails.value}"/>

这会将属性类型保持为整数。

于 2013-07-06T13:29:08.807 回答
0

一种方法是将整数单独转换为字符串,然后在需要的地方使用它。

其他方式(不完全确定)是在整数之前附加一个空字符串,因此它将返回一个新字符串,如下所示;

int a = 10;

现在 ""+a将代表一个字符串。

于 2013-07-06T09:35:11.053 回答