Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > JSTL/EL: как правильно обратиться к полю бина?


Автор: Dims 15.5.2008, 20:46
Почему вот так работает: 

Код

<%
    Categ categ = data.getCateg(request.getParameter("seq"));
    Collection<Article> articles = data.getArticlesForCateg(categ.getSeq());
    for( Article article : articles ) {
       out.println(article.getTitle() + "<br/>");
    }
%>


а вот так 

Код

<%
    Categ categ = data.getCateg(request.getParameter("seq"));
    Collection<Article> articles = data.getArticlesForCateg(categ.getSeq());
      %>
      
      <c:forEach items="articles" var="article">
         <jsp:getProperty name="article" property="title"/><br/>
      </c:forEach>


и вот так 

Код

<%
    Categ categ = data.getCateg(request.getParameter("seq"));
    Collection<Article> articles = data.getArticlesForCateg(categ.getSeq());
%>
      
      <c:forEach items="articles" var="article">
         <c:out value="${article.title}"/>
      </c:forEach>


не работает.

Как вообще правильно?

Автор: v2v 15.5.2008, 21:35
а вы правильно подключаете jstl ?
Код

<c:out value="hello"/>

выводит правильно?


Код

      <c:forEach items="${articles}" var="article">
         <c:out value="${article.title}"/>
      </c:forEach>

Автор: check 16.5.2008, 09:17
articles недоступна в контексте страницы, надо положить её туда.
Попробуйте так
Код

<%
    Categ categ = data.getCateg(request.getParameter("seq"));
    Collection<Article> articles = data.getArticlesForCateg(categ.getSeq());
    pageContext.setAttribute("articles ", articles );
%>
      <c:forEach items="${articles}" var="article">
         <c:out value="${article.title}"/>
      </c:forEach>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)