2010-03-29 77 views
2

工作不考慮以下portlet代碼:項目價值的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}被打印出兩次....

+0

出於興趣,''做什麼? – skaffman 2010-03-29 07:23:27

+0

''有效!但是不應該'$ {aName}'工作嗎? – 2010-03-29 07:31:04

回答

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>

要解決一個或其他,顯然這樣做:

  1. 升級服務器或使用JSTL c:out,而不是與它生活。
  2. 最好將web.xml聲明爲appserver支持的最新Servlet API版本。
  3. 刪除isELIgnored=true屬性。
  4. 刪除<el-ignored>true</el-ignored>條目。