Spring MVC - Справочные данные - PullRequest
2 голосов
/ 24 ноября 2010

Вот сценарий: у меня есть что-то вроде этого ..

<form:select path="somePath" .....>
   <form:option value="" label="Please Select"/>
   <form:options items="${students}" itemValue="id" itemLabel="name"/>
</form:select>

Этот выпадающий список работает нормально.

Но как мне отобразить имя конкретного ученика? Я хочу сделать что-то вроде этого:

 <c:out value="${students[id].name}"/>

Может ли кто-нибудь помочь мне с синтаксисом?

Спасибо

1 Ответ

2 голосов
/ 24 ноября 2010

Я предполагаю, что ${students} - это массив или список студенческих объектов.Как таковой, он не индексируется по идентификатору и не может быть напрямую доступен таким образом.

Опции включают в себя:

1) Включить вашу коллекцию студентов в виде карты от идентификатора до объекта студента;тогда ваш атрибут items становится ${students.values}, и вы можете найти отдельного студента как ${students[id]}.

2) Или сохранить его в виде списка, а затем перебрать свой список и найти тот,где идентификатор совпадает:

 <c:forEach var="student" items="${students}">
    <c:if test="${student.id==id}">
        <c:out value="${student.name}" />
    </c:if>
 </c:forEach>

3) И, наконец, если вы с самого начала знаете, какого учащегося вам не хватает, включите этого учащегося отдельно в справочные данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...