Как я могу заполнитьс атрибутами списка объектов? - PullRequest
1 голос
/ 07 октября 2019

Я пытаюсь создать страницу, на которой я могу выбрать имя игрока в одном поле, а в другом поле отображается возраст игрока. Я написал код для выбора имен, но он использует список строк. Есть ли способ, где я передаю переменную List и в раскрывающемся списке я могу выбрать имена, и поле возраста меняется соответственно?

Контроллер, который я использую сейчас:

public ModelAndView getPlayers(ModelAndView model) {
    List<Player> players = findAllPlayers();
    List<String> playerNames = new ArrayList<String>();
    for ( Player player : players){
        playerNames.add(player.netName();
    }

    model.addObject("players", playerNames);
    model.setViewName("getPlayer");
    return model;
}

Контроллер, который я хотел бы использовать:

public ModelAndView getPlayers(ModelAndView model) {

    List<Player> players = findAllPlayers();

    model.addObject("players", players);
    model.setViewName("getPlayer");
    return model;
}

jsp-страница, которая у меня есть для выпадающего списка:

<form:select path="players" name="players" items="${players}" id="players" class="form-control" value="${selectedPlayer}"/>

1 Ответ

0 голосов
/ 07 октября 2019

Вы можете использовать тег <form:options> внутри своего кода <form:select>.

Например, вы можете сделать следующее:

<form:select id="playerNameDropdown" path="playerName">
  <form:option value="-" label="--Please Select"/>
  <form:options items="${players}" itemValue="playerId" itemLabel="playerName"/>
</form:select>

Для справки, см. Также документы по пружине. за это. https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-view-jsp-formtaglib-optionstag

Редактировать: Для вашего возраста выберите выпадающее требование, вы можете использовать свойство onchange для вашего имени игрока <form:select> выпадающий.

Пример:

<form:select id="playerNameDropdown" path="playerName" onchange="changeAgeDropdown()">
</form:select>

function changeAgeDropdown() {
   var selectedPlayer = $("#playerNameDropdown").val();
   //Change your second dropdown here.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...