<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. 。我实际上不清楚这是如何运作的。我猜jsp正在做一些事情 getClass().getName() 或者幕后的事情?关于该过程的任何指示都会具有启发性。无论如何,这部分正在发挥作用。

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

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

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

有帮助吗?

解决方案

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

对于第二部分,请尝试:

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top