从html表中检索值到servlet

时间:2015-05-10 05:06:10

标签: java jsp servlets

我正在尝试从JSP页面到Servlet获取表行但最终出现以下错误。这样做的正确方法是什么?

Severe:   java.lang.NullPointerException
at com.pg.servlet.session.Controller.doPost(Controller.java:125)

的java:

        String[] recordsToUpdate = request.getParameterValues("attTable");

        try {
            for (int i = 0; i < recordsToUpdate.length; i++) {
                total = SQLHelper.Update(recordsToUpdate[2], recordsToUpdate[3], recordsToUpdate[0]);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

HTML:

<table id="attTable" class="table">
        <tr class="header">
            <th>Id</th>
            <th>Name</th>
            <th>Present?</th>
            <th>Remarks</th>
        </tr>
        <c:forEach var="List" items="${myVar}" varStatus="iter">
            <tr class="row">
                <td>${List.Id}</td>
                <td>${List.Name}</td>  
                <td><input type="checkbox" name="chkDisperse"></td>
                <td>
                    <input type="text" name="remarks">
                </td>
            </tr>
        </c:forEach>
    </table>

2 个答案:

答案 0 :(得分:1)

请求不包含名称参数&#34; attTable&#34;因为它不是表单输入类型的一部分。这会导致recordsToUpdate为null,因此在null对象上调用方法长度时会出现NullpointerException。

答案 1 :(得分:0)

您可以在每个tr中添加名称='Id'的隐藏字段,并且必须在servlet中传递request.getParameterValues(“Id”)。请检查以下stackoverflow问题。

Accessing HTML-Input field arrays in Java Servlet / Structure of the input fields

相关问题