Список JSP и сервлет - PullRequest
       2

Список JSP и сервлет

1 голос
/ 08 декабря 2010

В моем приложении я использую 2 списка, в которые я хочу переместить выбранные элементы из одного в другой.Я знаю, чтобы назначить значения для списка из базы данных.Но я не знаю, как назначить значение массива строк из Java-файла в поле HTML.В моем «record.java» у меня есть следующий код:

public class Report 
{
    private static String[] types = {
        "Value1",
        "Value2"
    };

    private static String[] fields = {
        "number1",
        "number2"
    };

    public static String[] getList() {
        return types;
    }

    public static String getFieldName(String description) {
        for(int i=0; i< fields.length; i++) {
            if (description.compareToIgnoreCase(types[i]) ==0)
                return fields[i];
        }
        return "";
    }
}

, и у меня есть мой файл «chart.jsp» следующим образом:

<form  method="post">
            <fieldset>
                <legend>Chart Data</legend>
                <br/>
                <br/>
                <table >
                    <tbody>
                        <tr>
                            <td>
                              <select name="data" size="5" id="s">
                                 <option value=""></option>
                              </select>
                            </td>
                            <td> 
                                <input type="submit" value="<<"/>
                            </td>
                            <td>
                                <select name="data" size="5" id="d">
                                 <option value=""></option>
                                </select></td>
                         </tr>
                    </tbody>
                </table>
                <br/>
            </fieldset>
            <input class="submit" type="submit" value="Submit" />
        </form>

Я новичок в JSP.Кто-нибудь может мне помочь, как это сделать?Спасибо ....

1 Ответ

4 голосов
/ 08 декабря 2010

Метод получения не должен быть статическим:

public String[] getList() {
    return types;
}

Экземпляр Report должен быть помещен в область запроса в методе doGet() сервлета:

Report report = loadItSomehow();
request.setAttribute("report", report);
request.getRequestDispatcher("page.jsp").forward(request, response);

Таким образом, он будет доступен в JSP EL как ${report}, а список доступен как ${report.list}. Вы можете использовать JSTL c:forEach для перебора массива или List.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<select name="types" size="5">
    <c:forEach items="${report.list}" var="type">
        <option value="${type}">${type}</option>
    </c:forEach>
</select>

Обратите внимание, что независимым элементам ввода не следует присваивать одинаковые имена.

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