Как проверить, является ли ArrayList нулевым ИЛИ не использовать c: if в JSTL? - PullRequest
2 голосов
/ 03 февраля 2012

Я хочу проверить, является ли ArrayList нулевым ИЛИ не использует JSTL c: если и он не работает Пожалуйста, помогите мне в этом.

Мой код здесь

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
java.util.ArrayList<Student> studentList = MyClass.getStudentList();
%>
<c:if test="${studentList != null}">
     <c:forEach var="student" items="${studentList}">
          <c:out value="${student.name}" />
     </c:forEach>
</c:if>

я тоже пробовал

<%
java.util.ArrayList<Student> studentList = MyClass.getStudentList();
%>
<c:if test="${not empty studentList}">
     <c:forEach var="student" items="${studentList}">
          <c:out value="${student.name}" /><br/>
     </c:forEach>
</c:if>

а также

<%
java.util.ArrayList<Student> studentList = MyClass.getStudentList();
request.setAttribute("studentList", studentList);
%>
<c:if test="${not empty studentList}">
     <c:forEach var="student" items="${studentList}">
          <c:out value="${student.name}" /><br/>
     </c:forEach>
</c:if>

Простой c: если работают выражения типа .

Что я делаю не так в этом коде? Любые подсказки?

Ответы [ 2 ]

2 голосов
/ 03 февраля 2012

JSP EL не манипулирует локальными переменными JSP. Он манипулирует объектами, хранящимися в одной из четырех областей:

  • PageScope
  • requestScope
  • sessionScope
  • applicationScope

Чтобы этот код работал, вам нужно сделать:

<%
java.util.ArrayList<Student> studentList = MyClass.getStudentList();
pageContext.setAttribute("studentList", studentList);
%>

Но теги JSP EL и JSP были введены, чтобы избежать использования кода Java в JSP. скриптлеты не должны использоваться. Используйте сервлет для вашего кода Java и отправьте его в JSP для кода рендеринга. Или используйте инфраструктуру MVC, такую ​​как Stripes или Spring MVC.

1 голос
/ 03 февраля 2012

Получил решение.Это было проблемой с файлами JAR.Теперь я скачал JARS с сайта Java.Net и он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...