Struts: доступ к атрибутам компонентов из представления - PullRequest
0 голосов
/ 08 марта 2012

Заранее спасибо, что нашли время прочитать!

Я работаю над веб-приложением в среде IDE NetBeans 7.1 со Struts 1.3.10, Apache Tomcat 7.0.22, PostgreSQL 9.1 в Windows 7.

У меня следующий вопрос:

У меня есть класс под названием «Напоминание», его свойства: startDate, endDate и id. Я хочу получить все даты начала и окончания всех напоминаний в моем jsp, чтобы я мог выделить этот диапазон дней в календаре на боковой панели моего веб-приложения.

В моем действии входа в систему у меня есть следующий код:

Reminder reminder = new Reminder();
ArrayList<Reminder> queryResults = 
dbms.queryReminders(reminder);

Здесь я собрал все напоминания из базы данных (функция модели просто делает SELECT * из напоминаний и возвращает это)

Затем я заканчиваю:

request.setAttribute("reminders",queryResults);
return mapping.findForward(User);

Здесь я установил собранные результаты в атрибут, который я решил назвать «напоминания», в нем должны быть все напоминания, которые я хочу.

После этого я получаю данные из вида следующим образом:

<bean:write name="reminders" scope="request"/>

Но все, что я получаю, это что-то вроде: [classes.Reminder@1d1ce11] (В этом случае я вставил только одно напоминание в базу данных. Кроме того, у меня есть класс с именем Reminder в моем пакете под названием классы, так что я думаю, что это ссылаясь на объект класса Reminder (тот, который я вставил в БД)).

Но я хочу иметь возможность получать startDate и endDate от этого объекта, а не только от такого объекта. Кто-нибудь знает, как получить доступ к этим свойствам из JSP?

Я провел много исследований, но обычно учебники показывают, как получить свойства классов с помощью этих bean-тегов, но здесь у меня есть массив объектов определенного класса, и я хочу их свойства, поэтому вещи разные.

Я был бы очень признателен за руководство. Спасибо!

1 Ответ

2 голосов
/ 08 марта 2012

Это потому, что вы сохранили List (типа ArrayList) для запроса по следующему коду:

request.setAttribute("reminders",queryResults);

Итак, чтобы получить каждый Reminder из List, вам нужно будет перебрать список (в JSP).

Для перебора коллекции вы будете использовать тег <logic:iterate>:

<logic:iterate name="reminders" id="reminder" scope="request">
    ID: <bean:write name="reminder" property="id" />
    Start Date: <bean:write name="reminder" property="startDate" />
    End Date: <bean:write name="reminder" property="endDate" />
</logic:iterate>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...