EL方法中的参数

我想在JSP中使用带有参数的EL方法。但是EL不支持方法中的参数。实际上,我想显示一个表,该表具有一个在一个单元格中输出值列表的字段。对于每个单元格,此列表将有所不同,具体取决于参数。如何使用EL做到这一点?

我试过了,但是说不能<c:set var="group" value="${entrant.idGroup}"

/>entrant.idGroup返回int值的地方将Integer转换为String

    <c:forEach var="entrant" items="${bean.entrants}">

<tr>

<td>${entrant.idEntrant}</td>

<c:set var="group" value="${entrant.idGroup}" />

<td><%=bean.getGroupCode(Integer.parseInt((String)pageContext.getAttribute("group")))%></td>

<td>${entrant.name}</td>

</c:forEach>

但是,即使它可行,我也想在JSP中使用纯EL。我该如何实现?

回答:

EL 2.2中引入了对传递方法参数和调用非getter方法的支持,它是Servlet 3.0的一部分。因此,最好的选择是升级到与Servlet

3.0兼容的容器,例如Tomcat 7,Glassfish 3,JBoss AS 6,并确保web.xml已声明您符合Servlet

3.0规范,以便您可以执行以下操作:

<c:forEach var="entrant" items="${bean.entrants}">

<tr>

<td>${entrant.idEntrant}</td>

<td>${bean.getGroupCode(entrant.idGroup)}</td>

<td>${entrant.name}</td>

</tr>

</c:forEach>

如果您的容器不支持它,那么最好的选择是创建一个自定义的EL函数。

        <td>${some:getGroupCode(bean, entrant.idGroup)}</td>

以上是 EL方法中的参数 的全部内容, 来源链接: utcz.com/qa/401102.html

回到顶部