Java 无法更新单元格(服务器错误)

Java 无法更新单元格(服务器错误),java,javascript,jquery,servlets,Java,Javascript,Jquery,Servlets,我使用servlet用mysql数据库数据填充jsp页面表,并使用jQueryDataTable插件使表可编辑 但是,表格编辑不起作用,每次编辑字段并点击“回车”时,我都会收到错误“单元格无法更新(服务器错误)”。我的doPost方法是否正在运行 这是我的jquery scriplet: <script type="text/javascript"> $(document).ready(function(){ oTable = $("table#d

我使用servlet用mysql数据库数据填充jsp页面表,并使用jQueryDataTable插件使表可编辑

但是,表格编辑不起作用,每次编辑字段并点击“回车”时,我都会收到错误“单元格无法更新(服务器错误)”。我的doPost方法是否正在运行

这是我的jquery scriplet:

<script type="text/javascript">  
        $(document).ready(function(){
        oTable = $("table#datatables").dataTable({
                "sPaginationType":"full_numbers",
                "aaSorting":[[2, "desc"]],
                "bJQueryUI":true,
                "sDom": '<"top"i><"title">lt<"bottom"pf>'               
                }).makeEditable({
                "sUpdateURL": "/home",
                "aoColumns": [
                 null,  //medical record number
                 {},    //last name; default editing    
                 {},    //first name; default editing
                 {},    //middle name; default editing
                 {},    //date of birth; default editing
                 {      //gender, selection between M and F
                    indicator: 'Saving...',
                    tooltip: 'Click to select gender',
                    loadtext: 'loading...',
                    type: 'select',
                    onblur: 'submit',
                    data: "{'M':'M','F':'F'}"
                 }, 
                 null,  //admission date time
                 null,  //discharge date time
                 null,  //attending physician
                 {}     //room; default editing
                 ]
            });
        });
     </script>
我的servlet的URL映射为“/home”

我的doPost方法是否正在运行

我不确定默认情况下dataTable是否发出POST请求。 可能您需要添加一个方法类型POST。类似于
“sServerMethod”:“POST”
“bServerSide”:true,

参考:

“sUpdateURL”:“/主页”

检查您是否已使用映射映射了servlet

最简单的方法是,我建议您在
doGet()
doPost()
中同时放置
sysout


现在有了Mozilla Firefox等现代浏览器,您可以使用Firebug等工具检查Http请求。

我也遇到过同样的问题。这通常意味着响应不会在servlet上结束。尽量只用“家”这个词。或者,如果您有虚拟名称(可能是您正在使用筛选所有servlet的筛选器,以“/scheduler/”开头),请尝试将其添加到“home”之前。例如,它看起来像“/scheduler/home”。或者尝试使用submit按钮(action=“/home”)创建表单,并检查您的“/home”资源是否可访问。

将此
“sUpdateURL”:“/home/UpdateData”
更改为此
“sUpdateURL”:“/home”
如果您的servlet映射到
/home
尝试过,仍然会出现相同的错误。出于调试目的,在
doPost
中放入日志或println语句。另外,您的
doPost
正在向响应写入
值。这就是您想要的吗?这正是我最初想要的,但为了让生活更轻松,将其更改为console writeline,代码会相应地更新。请在浏览器控制台中检查AJAX请求,查看它是否正在建立连接,发送和返回了什么数据(如果有),以及http状态。无。我的servlet被映射到“home”,因为我的doGet方法可以很好地获取所有数据。我实现了jQueryDataTable,以便能够编辑数据,在HomeServlet上使用doPost方法将数据写入控制台。然而,我总是得到错误。
protected void doPost(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {
             int id = Integer.parseInt(request.getParameter("id"));
     int columnId = Integer.parseInt(request.getParameter("columnId")); 
     int columnPosition = Integer.parseInt(request.getParameter("columnPosition")); 
     int rowId = Integer.parseInt(request.getParameter("rowId")); 
     String value = request.getParameter("value"); 
     String columnName = request.getParameter("columnName");

     System.out.println(value);         
}