2

我有一种情况,我正在将会话中的图像链接设置为一个页面以在另一页面上访问,这是设置的位置:

<c:set var="<%item.getCatalogEntryId()%>FTImage" value="${item.field5}" scope="session"/>

我在提取此信息以在第二页上使用时遇到问题,我想做这样的事情,但语法显然不正确,我不确定如何正确执行此操作

<c:set var="CartImage" value="${sessionScope.${itemCatentryId}FTImage}"></c:set>

catalogEntryId 在两个页面之间是通用的,我只需要知道在从会话中检索变量时如何包含它

谢谢你的帮助

4

2 回答 2

0

试试这个。我认为它会工作

 <c:set var="CartImage" value="${sessionScope.[itemCatentryId]FTImage}"></c:set>
于 2013-03-15T01:25:20.827 回答
0

这是不可能的。我认为解决您的问题的方法是使用包含catalogEntryIdas 键和itemas 值的 Map。如果您itemList的 servlet/控制器中有一个,您可以使用以下方法将其转换为映射:

// Servlet.
request.setAttribute("itemMap", itemList.stream().collect(Collectors.toMap(i-> String.valueOf(i.getCatalogEntryId()) + "FTImage", Function.identity())));
// Spring MVC Controller.
modelAndView.addObject("itemMap", itemList.stream().collect(Collectors.toMap(i-> String.valueOf(i.getCatalogEntryId()) + "FTImage", Function.identity())));

因此,您将能够在您的视图中使用此映射并从您的映射中获取动态键,如下所示:

<c:set var="CartImage" value="${itemMap.get(item.getCatalogEntryId()+'FTImage')}" value="${your value}"></c:set>
于 2018-05-31T10:34:36.283 回答