一尘不染

在JSP EL中串联字符串?

jsp

我有一个bean列表,每个bean都有一个属性,它本身就是一个电子邮件地址列表。

<c:forEach items="${upcomingSchedule}" var="conf">
    <div class='scheduled' title="${conf.subject}" id="scheduled<c:out value="${conf.id}"/>">
    ...
    </div>
</c:forEach>

这样<div>就为List中的每个bean 渲染了一个。

对于子列表,我想做的是将列表中的每个条目连接起来以形成单个字符串,并将其显示为<div>title属性的一部分。为什么?因为我们使用的是javascript库(mootools),将其<div>转换为浮动工具提示,而该库将title变成了工具提示的文本。

因此,如果${conf.subject}是“ Subject”,最终我希望其中title<div>“ Subject:blah @
blah.com,blah2 @ blah2.com等”,其中包含子列表的所有电子邮件地址。

如何使用JSP EL做到这一点?我试图避免将scriptlet块放入jsp文件中。


阅读 222

收藏
2020-06-08

共1个答案

一尘不染

想出了一种有点肮脏的方式来做到这一点:

<c:forEach items="${upcomingSchedule}" var="conf">
    <c:set var="title" value="${conf.subject}: "/>
    <c:forEach items="${conf.invitees}" var="invitee">
        <c:set var="title" value="${title} ${invitee}, "/>
    </c:forEach>
    <div class='scheduled' title="${title}" id="scheduled<c:out value="${conf.id}"/>">
    ...
    </div>
</c:forEach>

我只是<c:set>重复使用它自己的值来附加/连接字符串。

2020-06-08