使用servlet和EL时,您根本不应该使用 scriptlet (那些
<%%>带有Java代码的老式东西)。请改用JSTL之类的标记库。它提供
<c:forEach>标签以遍历集合。
例如,
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>...<table border="1"> <tr> <th>Drug Names</th> <th>Target Names</th> </tr> <c:forEach items="${drugtargets}" var="drugtarget"> <tr> <td>${fn:escapeXml(drugtarget.drug)}</td> <td>${fn:escapeXml(drugtarget.target)}</td> </tr> </c:forEach></table>(请注意,我还通过将<tr>
内部循环固定了表行的呈现)
简单得多,不是吗?顺便说一下,您也可以只使用
<c:out value="${drugtarget.drug}"/>这些功能。如果可以的话,建议您将以下内容添加到您的Web应用程序
web.xml中,以完全禁用 脚本集, 以便您被迫以正确的方式进行操作。
<jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <scripting-invalid>true</scripting-invalid> </jsp-property-group></jsp-config>



