1
<c:set var="nameLookup" value="${names}" />
<c:forEach var="result" items="${results}">
    <tr>        
        <td>${result.uglyDisplayName}</td>
        <td>${result.phonenum}</td>
    </tr>
</c:forEach>

这是我正在尝试编辑的 jsp 的摘录。

结果是List<Object>控制器在 ModelAndView 中返回的一个,其中每个Object都有一个getUglyDisplayNamegetPhonenum。我实际上并不清楚它是如何工作的。我猜jspgetClass().getName()在幕后做了一些或一些事情?有关该过程的任何指示都会很有启发性。无论如何,那部分正在工作。

在控制器中,我添加了另一个要在 ModelAndView 中返回的对象。这是一个具有更好显示名称的 HashMap,其中丑陋的显示名称是键。所以我想用这样的东西替换第一个 td :

<td>${nameLookup.get(result.uglyDisplayName)}</td>

显然,这不起作用,否则我不会在这里发帖。我继续为我将 HashMap 放在 ModelAndView 下(顶行)下的名称设置了一个 var,但我不确定这是否是获取该对象的正确方法。

4

1 回答 1

2

对于第一部分(“JSP 正在做什么”),请参阅JSP 表达式语言

对于第二部分,尝试:

<td>${nameLookup[result.uglyDisplayName]}</td>

我不想发誓它会起作用(自从我使用 JSP 以来已经很久了),但值得一试。

于 2009-06-06T19:22:26.293 回答