我如何使用c:forEach表单将参数发送到JSP servlet?

问题描述 投票:0回答:1

我在混合JSP Servlet和c:forEach表单时遇到问题...问题在于,无论我的id是什么,HTML表单都会始终发送列表中的第一个,称为“ name =“ id”'。是否有一种解决方法,可能是为了获得好名字而获得多个name =“ id1”,name =“ id2” ... etc?

这里是代码。

    <div id="client-table">
        <form action="gestion-commandes" method="POST">

            <table class="table table-striped">
                <thead class="thead-custom">
                    <tr>
                        <th scope="col">#</th>
                        <th scope="col">NOM</th>
                        <th scope="col">PRENOM</th>
                        <th scope="col">EMAIL</th>
                        <th scope="col">TEL</th>
                        <th scope="col">COMMANDES</th>
                    </tr>
                </thead>
                <tbody class="tbody-custom">

                    <c:forEach items="${clients}" var="client">
                        <tr>
                            <th scope="col">${client.id}<input name="id" value="${client.id}" hidden = "true"></th>
                            <th scope="col">${client.nom}</th>
                            <th scope="col">${client.prenom}</th>
                            <th scope="col">${client.email}</th>
                            <th scope="col">${client.tel}</th>
                            <th scope="col"><button type="submit">Commandes</button>
                            </th>
                        </tr>
                    </c:forEach>
                </tbody>                
            </table>

        </form>
    </div>

</div>

谢谢你,乔斯

html forms jsp servlets foreach
1个回答
0
投票

当参数具有多个值时,使用request.getParameter("id")将仅返回第一个参数值。

例如,在您的Servlet上,您需要使用request.getParameterValues而不是request.getParameter

String[] ids = request.getParameterValues("id");
© www.soinside.com 2019 - 2024. All rights reserved.