2

次のポートレットコードがあるとします。

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)が評価されない理由がわかりません。$ {aName}が2回出力されるため、forEachループは機能します...。

4

1 に答える 1

4

<c:out value="${aName}"/>動作します!! しかし、うまくいくべきではありません${aName}か?

したがって、「テンプレート テキスト内の EL」は機能しませんか? 次の原因の 1 つ以上が考えられます。

  1. 問題のアプリケーション サーバーは JSP 2.0 をサポートしていません。
  2. web.xmlServlet 2.4 以降として宣言されていません。
  3. @pageで設定されisELIgnored=trueます。
  4. web.xmlで設定さ<el-ignored>true</el-ignored><jsp-config>ます。

どちらかを修正するには、明らかに次のようにします。

  1. c:outサーバーをアップグレードするか、代わりにJSTLを使用して、それを使用してください。
  2. web.xmlappserver でサポートされている最新のサーブレット API バージョンを宣言することをお勧めします。
  3. 属性を削除しisELIgnored=trueます。
  4. <el-ignored>true</el-ignored>エントリを削除します。
于 2010-03-29T12:03:04.623 に答える