1

良い一日。私は JSP ビューと、データを取り込むモデルを提供するコントローラーを持っています。JSP 用のコントローラーのメソッドを次に示します。

@RequestMapping("/seller")
public ModelAndView seller() {
    if(isUserInRole("SELLER_ROLE"))
    {
        List<SellerStatistics> entities = sellerService.getAllStatistics().getContent();
        List<String> statuses = sellerService.getStatuses();
        Map<String, Object> model = new HashMap<String, Object>();
        model.put("gridRows", entities);
        model.put("statuses", statuses);
        return new ModelAndView("seller",model);
    }
    return new ModelAndView("login");
}

gridRows には、JSP でテーブルに挿入する必要がある情報が含まれています。そのテーブルの列の 1 つは「ステータス」です。この行のステータスを変更するには、ステータスをドロップダウン ボックスにする必要があります。

ここに私のJSPがあります:

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ include file="header.jsp" %>
<div class="container">
    <div class="row">
        <div class="span12">
            <h1>Sellers welcome</h1>

            <div class="top-menu">
                <span>Период</span><input type="text">
                <span>Период</span><input type="text">
                <span>Период</span><input type="text">
                <span>Период</span><input type="text">
                <span>Период</span><input type="text">
                <input type="button">
            </div>
            <table class="table table-bordered table-hover table-condensed">
                <thead>
                <tr>
                    <th>id</th>
                    <th>Email</th>
                    <th>Телефон</th>
                    <th>Дата регистрации</th>
                    <th>Сайт откуда первый раз пришел</th>
                    <th>Первый поисковый запрос</th>
                    <th>Оплата</th>
                    <th>Счет/Реализация/Счет фактура</th>
                    <th>Журнал посещений</th>
                    <th>Журнал коммуникаций</th>
                    <th>Статус</th>
                </tr>
                </thead>
                <c:forEach items="${gridRows}" var="cur">
                    <tr>
                        <td>${cur.id }</td>
                        <td>${cur.email }</td>
                        <td>${cur.phone}</td>
                        <td><fmt:formatDate pattern='dd.MM.yyyy HH:mm' value='${cur.registrationDate}'/></td>
                        <td><a href="${cur.referer}">${cur.referer}</a></td>
                        <td>${cur.searchQuery}</td>
                            <%--Payments--%>
                        <td>
                            <c:forEach items="${cur.payments}" var="payment">
                                <fmt:formatDate pattern='dd.MM.yyyy' value='${payment.created}'/>
                                &nbsp;&nbsp;
                                ${payment.value} рублей
                            </c:forEach>
                        </td>

                        <td>${cur.aii}</td>
                        <td>${cur.visits}&nbsp;страниц<br><a
                                href="/seller/browsing_history?id=${cur.id}">Подробно</a></td>
                        <td>
                            <c:forEach items="${cur.communicationLog}" var="communication">
                                <a href="#">${communication.time}&nbsp;&nbsp;${communication.description}</a>
                            </c:forEach>
                        </td>
                        <td>
                             <!--Status must be here-->
                        </td>
                    </tr>
                </c:forEach>
            </table>
        </div>
    </div>
</div>

JSP でドロップダウン ボックスを作成する方法と、各行の現在の値を選択する方法を教えてください。

4

1 に答える 1

2

これを試して:

<select>  
    <c:forEach var="item" items="${statuses}">  
        <c:choose>
            <c:when test="${cur.status == item}">
                <option selected>${item}</option>
            </c:when>
            <c:otherwise>
                <option>${item}</option>
            </c:otherwise>
        </c:choose>
    </c:forEach>  
</select>
于 2013-03-13T13:58:59.457 に答える