2009-05-03 2 views
0

У меня есть вектор beans, который содержит информацию, которую я хочу отобразить на моей странице jsp. В настоящее время я просто использую стандартные выражения Java, чтобы отобразить это, я хочу изучить использование jstl для разделения проблем. Возможно ли это, и как? Я был гуглингом, но я не могу найти ничего.jstl/jsp - итерация над вектором фасоли

ответ

1

Я думаю, что то, что вы ищете является < с: Еогеасп> тег.

, например, печать Мьин свойство значения на экземпляры MyClass (как определено ниже):

<c:foreach items="${vectors name}" var="pos" > 
     <!-- print the value of myInt for each position of the array. 
      Method getMyInt() must exist in pos object.--> 
     <c:out value="${pos.myInt}"/> 

     <!-- print the value of myInt for each composed instance. 
      Method getRelatedInstance() must exist in pos object. --> 
     <c:out value="${pos.relatedInstance.myInt}"/> 
</c:foreach> 

где вектор имя является имя вектора, например, после выполнения

Предположим, у вас есть класс myClass.

public class MyClass{ 
    private MyClass relatedInstance;  
    //some members and methods 

    public int getMyInt(){ 
    //return something 
    } 

    public MyClass getRelatedInstance(){ 
    return this.relatedInstance; 
} 

List<myClass> my_vector = getFilledList(); 
request.setAttribute("vectors name",my_vector) 
+0

Это кажется прекрасным для примитивов, таких как строки, но у меня возникают проблемы с работой с коллекциями бобов, которые содержат различные объекты. – user70835

+0

Это отличная благодарность, я немного смутился, когда мне требовались классы, и мои jstl libs играли вверх (несколько разных вкладок, рассказывающих мне разные способы их развертывания). Большое спасибо! – user70835

0

затратить на примере Тома, вот что-то более конкретное:

<c:foreach items="${myList}" var="myItem"> 
    <c:out value="${myItem.someProperty}"/> 
</c:foreach> 

Где «MyList» является атрибутом запроса, который содержит свой вектор.

Общая ошибка заключается в том, чтобы забыть $ {} вокруг $ {myList} - если вы это сделаете, JSTL не будет вызывать ошибку, он просто сгенерирует список для вас с одним элементом, строка " мой список".

+0

Спасибо, я отредактировал некоторые ошибки в своем ответе. – Tom

Смежные вопросы