Вопрос

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

Это было полезно?

Решение

Я думаю, что вы ищете < тег c: foreach > .

например, печать значения свойства myInt в экземплярах 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> 

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

Предположим, у вас есть класс 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)

Другие советы

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

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

Где " myList " атрибут запроса, содержащий ваш вектор.

Распространенная ошибка - забыть о $ {} около $ {myList} - если вы сделаете это, JSTL не выдаст ошибку, он просто сгенерирует для вас список с одним элементом, строкой Quot; MyList <> Quot;!.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top