Выпадающие списки JSP () из Bean


Я очень (очень!) новичок в разработке JSP, и я пытаюсь сделать что-то, что я бы сделал в ASP.NET примерно через 30 секунд, но окружающая среда делает мою голову.

Пока у меня на веб-странице есть следующее:

<body>
    <jsp:useBean id="allPlayerInfo" class="Player.AllPlayers" scope="page"/>
    <jsp:include page="../header.jsp"/>
    Player:
    <select id="drp_player">
        <c:forEach var="item" items="${allPlayerInfo.items}">
            <option value="${item}">${item}</option>
        </c:forEach>
    </select>
</body>

И файл AllPlayers выглядит следующим образом:

package Player;
public class AllPlayers {
    public java.util.List<String> getItems() {
        java.util.List<String> list = new java.util.ArrayList<String>();
        list.add("PlayerName1");
        list.add("PlayerName2");
        list.add("PlayerName3");
        return list;
    }
}

Я буду (очевидно?) замените заполнитель "PlayerNames" на вызов базы данных в будущем, я просто хотел, чтобы этот простой тест работал в первую очередь.

В настоящее время я получаю назад избранное заполненное не имея ничего. Есть идеи, что я делаю не так?

1 3

1 ответ:

Код, опубликованный до сих пор, выглядит нормально, хотя ваш код JSP неполон. Таглибы отсутствуют в фрагменте JSP. Это часто бывает, когда вы просто хотите показать "фрагменты", но в реальном коде вы должны на самом деле объявить <c:xxx> taglib в верхней части JSP. В противном случае они просто не будут интерпретированы компилятором JSP и будут рассматриваться как обычный текст. Вы могли бы легко проверить это, проверив сгенерированный JSP HTML вывод rightclick, View Source в a объект WebBrowser. Вы должны были в этом конкретном случае Не видеть там <c:forEach> простую ваниль.

Я думаю, что это так. По крайней мере, симптом появления пустого выпадающего списка подтверждает это. Добавьте следующее в верхнюю часть вашего JSP:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

См. также: