如何使用JSTL在请求参数中保存输入标记/选项标记值(修改后)?

时间:2016-09-24 03:30:40

标签: java jstl

<c:forEach var="programSlot" items="${programSlot}" varStatus="status">
    <tr>
        <td>
            <input name ="duration" value="${programSlot.duration}" disabled />
        </td>
        <td>
            <select name= "programName">
                <c:forEach var="radioProgram" items="${rps}"> 
                    <c:choose>
                        <c:when test="${radioProgram.name == programSlot.programName}">
                            <option value="${radioProgram.name}" selected="">${radioProgram.name}</option>
                        </c:when>
                        <c:otherwise>
                            <option value="${radioProgram.name}">${radioProgram.name}</OPTION>
                        </c:otherwise>
                    </c:choose>
                </c:forEach>
            </select>
        </td>
        <td><input name ="startTime"  value="${programSlot.startTime}" /></td>
        <td> <input name ="dateOfProgram" disabled value="${programSlot.dateOfProgram}" /></td>    
        <td>
            <input type="submit" value="Submit"/>

[在附图中,我显示了我的网页表单。每行显示一个对象的属性值。

现在我希望如果我更改特定行的某个值并单击“提交”,则值应保存在请求参数中。 (这样我就可以在我的java文件中获取相同值来设置这些值并保存在db中。)

我想使用JSTL(或欢迎任何其他解决方案)执行此操作]] 1

enter image description here

我还附上了代码段。

1 个答案:

答案 0 :(得分:0)

使用POST提交表单时,将自动添加请求中的参数。 使用标记的“名称”属性从请求中获取它们。

示例:

<input name ="startTime" ...

request.getParameter("startTime"); ...

request.getParameter("programName");

编辑: 将提交按钮移出循环。 为每个元素添加索引。例如:

            <select name= "programName_"${loop.index}>

迭代java中的programSlot等列表,从请求中获取值并在object中设置。 示例:

request.getParameter("programName_"+i);

还可以使用request.getParameterValues,具体取决于元素类型。