2013-03-05 4 views
0

서블릿을 사용하여 JSP 페이지 테이블을 mysql 데이터베이스 데이터로 채우고 jquery 데이터 테이블 플러그인을 사용하여 테이블을 편집 가능하게 만듭니다.셀을 업데이트 할 수 없습니다 (서버 오류)

그러나 테이블 편집은 작동하지 않으며 필드를 편집하고 '입력'을 누를 때마다 "셀을 업데이트 할 수 없습니다 (서버 오류)"라는 오류가 발생합니다. 내 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> 

그리고 여기 내 서블릿의 URL 매핑 "/ 홈"

+0

서블릿이'/ home'에 매핑되어 있으면''sUpdateURL ': "/ home/UpdateData"를이''sUpdateURL ":으로 변경하십시오. –

+0

그래도 같은 오류가 발생했습니다. – naddnan

+0

디버그 목적으로'doPost'에 log 또는 println 문을 넣으십시오. 또한'doPost'는 응답에'value'를 쓰고 있습니다. 너가 원하는게 그거야? –

답변

0

인가가

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);   
} 

내 홈 서블릿의 내 doPost 메소드입니다 내 doPost 메소드도 실행 중입니까?

기본적으로 dataTable이 POST 요청을하는 지 확실하지 않습니다. 메소드 유형 POST를 추가해야 할 수도 있습니다. "sServerMethod": "POST" 또는 "bServerSide": true,

참조 비슷해 : http://www.datatables.net/release-datatables/examples/server_side/post.html

http://www.datatables.net/release-datatables/examples/data_sources/server_side.html

"sUpdateURL": "/ 홈"

당신이지도와 서블릿을 매핑 한 확인합니다.

가장 쉬운 방법은 sys outdoGet()doPost()에 넣는 것입니다.

모질라 파이어 폭스와 같은 최신 브라우저가있는 날에는 파이어 버그와 같은 도구를 사용하여 HTTP 요청을 검사 할 수 있습니다.

+0

아무 것도 없습니다. 내 doGet 메서드는 모든 데이터를 올바르게 처리하므로 내 서블릿이 "home"에 매핑됩니다. jQuery 데이터 테이블을 구현하여 홈 서블릿에서 doPost 메서드를 사용하여 콘솔에 데이터를 편집 할 수 있습니다. 그러나, 나는 항상 오류가 발생합니다. – naddnan

0

같은 문제가있었습니다. 일반적으로 응답은 서블릿에서 끝나지 않습니다. "집"만 사용하십시오. 또는 가상 이름 (예 : "/ scheduler /"로 시작하는 모든 서블릿을 필터링하는 필터를 사용 중일 수 있음)이있는 경우 "home"앞에 추가하십시오. 예를 들어 "/ scheduler/home"과 같은 모양입니다. 또는 제출 버튼 (action = "/ home")으로 양식을 만들고 "/ home"리소스에 도달 할 수 있는지 확인하십시오.

관련 문제