Значение элемента в цикле forest JSTL не работает в портлете - PullRequest
2 голосов
/ 29 марта 2010

С учетом следующего кода портлета:

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 Ответ

4 голосов
/ 29 марта 2010

<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 до последней версии Servlet API, поддерживаемой appserver.
  3. Удалить атрибут isELIgnored=true.
  4. Удалить запись <el-ignored>true</el-ignored>.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...