2014-11-20 3 views
0

Spring MVC를 사용하고 있습니다. 내 JSP 페이지에는 인라인 편집 가능한 표가 있고 모든 표에 편집 중 하나의 단추가 첨부되어 있습니다 (편집하려는 경우 드롭 다운의 편집 단추를 클릭하면 즉시 행이 편집 가능하게되고 편집 단추가 옆에 표시됩니다). 그 행) 그래서 그것을 클릭하면 바로 그 행의 데이터를 데이터베이스에 저장해야합니다.봄에 다른 페이지로 리디렉션하지 않고 데이터를 데이터베이스에 저장하는 방법 MVC

버튼을 사용하여 링크 (태그 사용)를 제공함으로써이 작업을 수행 할 수 있습니다.이 링크를 클릭하면 컨트롤러의 @RequestMapping과 일치 할 것이며 전체 테이블의 데이터를 데이터베이스에 저장합니다. 이제 다시 전의 이전 페이지로 되돌아 가야합니다. 다시 데이터베이스에서 전체 페이지를로드하는 데 비용이 많이 듭니다.

일부 사용자는 해당 행 ID 만 컨트롤러에 저장해야하며 데이터베이스에 저장해야하므로 페이지를 다시로드 할 필요가 없습니다.

+0

이 문제를 해결하는 데 도움을 줄 수있는 사람이 – user2409128

답변

0

Ajax를 통해 요청을 보내야합니다. 페이지가 다시로드되지 않으며 페이지 세그먼트 만 다시로드하도록 선택할 수 있습니다. 컨트롤러 방법은 문자열을 반환 할 수 있습니다

$("a.saveToDB").click(function(){ 
    var link = $(this); 
    $.ajax({ 
     url: link.attr("href"), 
     dataType: "text", 
     success: function(text) { 
     // show success message to the user 
     }, 
     error: function(xhr) { 
     // show error message to the user 
    }}); 
    // prevent links default action 
    return false; 
}); 

처럼 가장 쉬운 방법은, jQuery를 사용하여 링크하는 방법을 결합하는 것입니다, 뭔가 예를 들어,

@RequestMapping(value="/save", method=RequestMethod.GET) 
public @ResponseBody String saveToDB() { 
    // save to DB 
    return "success"; 
} 
+0

@RequestMapping 메서드에서 jsp 파일을 보내야합니다. 우리가 원하지 않으면 오류를 보여줍니다. 방법? – user2409128

+0

다운로드 https://github.com/spring-projects/spring-mvc-showcase 그것은 가치있는 학습 자산이 될 것입니다. 매핑 탭 아래에 필요한 예제가 있으며 RequestMappingController –

+0

도 문자열을 반환 할 수 있습니까? 그렇다면 .jsp 파일을 찾을 수 없다는 에러를 보여주는 이유 – user2409128

관련 문제