2014-12-10 2 views
0

От моего контроллера я отправляю список объектов в свое представление jsp. Я использую весеннюю форму: выберите тег, чтобы создать раскрывающееся меню, но оно показывает странную ссылку на объект в памяти. Как я могу получить его, чтобы просто показать имя атрибуты объектов, которые я прохожу в.Spring: доступ к списку атрибутов модели в раскрывающемся списке JSP

<form:form commandName="game"> 
     <form:select path="name" items="${listOfGames}"></form:select> 
    </form:form> 

Этот код дает мне выпадающий игровых объектов, но я хочу выпадающий список, чтобы показать имя атрибута

+0

Вы можете использовать карту listOfGames. Таким образом, вы можете использовать свою форму, как вы пишете выше. Значение. Часть ваших списковOfGames должны быть атрибутами имени объекта. –

ответ

4

Если вы просто использовать элементы атрибутов, как указано выше, пружина будет пытаться "stringify" ваши элементы списка/массива, т.е. ToString вызова() в каждом из них, и так как вы его не переопределили, тот, который определен в Object. Исключением является всякий раз, когда вы передаете Map<String, String>, где ключи используются для атрибута value и значений для отображения.

Вы должны использовать форму: опции тег правильно явно объявить, какое свойство используется ключ и какой один для отображения

<form:select path="game"> 
    <form:options items="${listOfGames}" itemValue="id" itemLabel="name"/> 
</form:select> 

если вы хотите связать свойство ID

+0

Удивительный, itemLabel - это то, что мне нужно, чтобы заставить его работать. Спасибо! – xeroshogun

1

Я предполагаю, что проблема в том, что вы не используете тег параметров.

<form:form commandName="game"> 
    <form:select path="name"> 
     <form:options items="${listOfGames}" /> 
    </form:select> 
</form:form> 
0

TRY ЭТО ::::

<form:form method="post" commandName="game"> 
<form:select path="name"> 
<form:option label="Setect A Game"/> 
<form:options items="${listOfGames}"/> 
</form:select> 
</form:form> 
+0

, пожалуйста, добавьте некоторое объяснение в свой ответ, показывающий, как ваш код решает проблему. Это поможет другим, кто увидит ваш ответ в будущем –