Как мы можем получить доступ к атрибуту bean в JSP? Я попытался
<core:forEach var="header" items="${command.headerList}" >
<td><core:out value="${header.columnName}"/></td>
</core:forEach>
где headerList — это список myBean, который имеет атрибут columnName [getter/setter определены в классе]
Выглядит хорошо. Что происходит вместо этого?
также как я могу получить доступ к n-му элементу в списке? Я попытался
${command.headerList[i]}
Выглядит нормально, пока i
инициализирован и находится в области видимости. Что происходит вместо этого?
когда я пишу
${command.headerList}
он отображает
com.bean.MyBean@14ecb90, com.bean.MyBean@169b35, com.bean.MyBean@27d572
Он должен включать [
в начале и ]
в хвосте, но для остатка это выглядит нормально, если вы не переопределили Object#toString()
в классе MyBean
. Чего ты ожидал?
и когда я пишу
${header}
внутри цикла forEach отображается:
javax.servlet.jsp.el.ImplicitObjectELResolver$ImplicitObjects$7@d9d714
Выглядит хорошо. Чего ты ожидал?
Резюме: я не понимаю вашей проблемы. Пожалуйста, уточните подробнее. Опубликовать SSCCE. Расскажите об ожидаемом вводе/выводе. Расскажите о фактическом вводе/выводе.
Изменить вы отредактировали свой вопрос. Ну, вот обновленные ответы.
${header.columnName}
Ожидаемый: он должен напечатать значение в columnName
Фактический: он вообще ничего не печатает
Тогда он фактически не содержал значения. Чтобы проверить это правильно, переопределите Object#toString()
примерно так:
public String toString() {
return "header[" + columnName + "]";
}
И протестируйте его с помощью ${command.headerList}
. Вы также можете добавить некоторый оператор System.out
или Logger
в метод получения, чтобы увидеть, действительно ли он вызывается и действительно ли возвращает значение. Или, если вы понимаете, как его использовать, просто запустите отладчик кода. Каждая приличная IDE поставляется с ним.
Следующий:
${command.headerList[i]}
Вывод: ничего не отображается.
Тогда нет средств действительного i
. Чтобы проверить это правильно, сделайте следующее, чтобы получить первый элемент:
${command.headerList[0]}
person
BalusC
schedule
10.11.2009