JSTL foreach循环中的项值在Portlet中不起作用

时间:2010-03-29 07:21:34

标签: jsp portlet el

给出以下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}打印出两次....

1 个答案:

答案 0 :(得分:4)

  

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

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

  1. 有问题的应用程序服务器不支持JSP 2.0。
  2. web.xml未声明为Servlet 2.4或更高版本。
  3. @page配置了isELIgnored=true
  4. web.xml中的<el-ignored>true</el-ignored>配置了<jsp-config>
  5. 要修复一个或另一个,显然应该:

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