2

给定以下 Portlet 代码:

ArrayList nameList = new ArrayList();
nameList.add("Willi Willisch");
nameList.add("Seppi Seppisch");

renderRequest.setAttribute("names", nameList);

以及以下 JSP 代码:

<c:forEach var="aName" items="${names}">
    <tr>
       <td>${aName} </td>
    </tr>

</c:forEach>

打印出来:

${aName}
${aName}

我不知道为什么不评估 $(aName) 。forEach 循环有效,因为 ${aName} 被打印了两次......

4

1 回答 1

4

<c:out value="${aName}"/>作品!!但不应该也${aName}工作吗?

因此,“模板文本中的 EL”不起作用?这可能有以下一种或多种原因:

  1. 有问题的应用程序服务器不支持 JSP 2.0。
  2. web.xml声明为 Servlet 2.4 或更高版本。
  3. 配置@pageisELIgnored=true.
  4. 配置web.xml<el-ignored>true</el-ignored>in <jsp-config>

要修复一个或另一个,显然要做:

  1. 升级服务器或改用 JSTLc:out并使用它。
  2. 最好声明web.xml为 appserver 支持的最新 Servlet API 版本。
  3. 删除isELIgnored=true属性。
  4. 删除<el-ignored>true</el-ignored>条目。
于 2010-03-29T12:03:04.623 回答