2012-05-31 44 views
5

Thư viện AJAX nào hoạt động tốt với Spring MVC?AJAX với Spring MVC

Tôi mới phát triển với Spring và Spring MVC. Từ tài liệu tại http://www.springsource.org Tôi chưa hiểu khung công tác AJAX Spring MVC đã tích hợp sẵn hoặc API và công cụ của bên thứ ba nào có thể được đề xuất là hoạt động tốt với việc phát triển ứng dụng Spring MVC.

Tất cả các đề xuất đều được đánh giá cao.

Tôi đã tìm kiếm thông qua các cuộc thảo luận SO trước đây về chủ đề này, nhưng tôi không nhận được bất kỳ hướng rõ ràng nào.

Trả lời

8

Mùa xuân cực kỳ dễ sử dụng với Ajax. Nếu Jackson ở trên classpath Spring có thể sử dụng nó để trả về JSON cho người gọi. Một cái gì đó như thế này:

@RequestMapping("/my/path") 
public @ResponseBody MyObject doSomething(@RequestParam Long myVal) { 
    MyObject result = new MyObject(myVal); 
    // do something interesting 
    return result; 
} 

Sau đó, bạn có thể sử dụng jQuery (hoặc yêu thích khác của bạn thư viện javascript) để thực hiện một yêu cầu đến http://myserver/my/path và xử lý kết quả đối tượng JSON.

GSON của Google cũng dễ sử dụng. Như trong:

@RequestMapping("/my/path") 
public ResponseEntity<String> MyObject doSomething(@RequestParam Long myVal) { 
    MyObject result = new MyObject(myVal); 
    // do something interesting 
    HttpHeaders headers = new HttpHeaders(); 
    headers.set( "Content-Type", "application/json"); 
    String json = gson.toJson(result); 
    return new ResponseEntity<String>(json, headers, HttpStatus.CREATED); 
} 
+0

Cảm ơn bạn đã trả lời chi tiết và ví dụ. –

1

Mùa xuân không xử lý khung Javascript, mỗi lần truy cập. Tôi không biết liệu Springsource có thực hiện bất kỳ biện pháp tuyên truyền nào cho bất kỳ khung Javascript cụ thể nào hoặc cho dù họ có bất khả tri hay không. Ajax thực sự chỉ là một kỹ thuật được kích hoạt bởi công nghệ trình duyệt kết hợp với ngôn ngữ Javascript và những gì quan trọng là khả năng truyền một số loại dữ liệu tuần tự hóa giữa máy khách và máy chủ. Nó không phải là khó khăn để nấu lên khuôn khổ AJAX cơ bản của riêng bạn và bạn thậm chí có thể thiết kế mã hóa dữ liệu của riêng bạn và không sử dụng JSON hoặc XML. Đó là khôn ngoan để áp dụng một khuôn khổ và tiêu chuẩn hiện có bởi vì bạn không muốn duy trì rất nhiều mã phụ trợ hoặc lo lắng về nó, và thay vào đó tập trung vào vấn đề bạn đang cố gắng giải quyết. Vì vậy, đó là lý do tại sao có nhiều khung công tác Javascript có thể thực hiện các yêu cầu không đồng bộ và một số có một số tính năng và khả năng thực sự dễ dàng giúp cuộc sống của bạn dễ dàng hơn, ví dụ jQuery cung cấp các thao tác DOM tuyệt vời và chức năng trung hòa của trình duyệt. Tôi nghĩ rằng việc sử dụng Spring MVC kết hợp với thư viện JSON JSON ở phía máy chủ, và jQuery ở phía máy khách, là cơ sở cho một giải pháp end-to-end rất tốt. Tôi đã có rất nhiều thành công với jQuery và jQuery-UI, nhưng các khung công tác Javascript khác cũng có thể hoạt động tốt. Đối với các ứng dụng phức tạp, về cơ bản bạn cần số tiền cho một MVC thứ hai ở phía máy khách vì bạn cần phân tích giữa các tiện ích giao diện người dùng và dữ liệu phải di chuyển giữa máy khách và máy chủ.

1

Spring JS hỗ trợ khung công tác Dojo JavaScript. Spring Js

+0

Cảm ơn bạn đã cung cấp thông tin và liên kết. Tôi đã nhanh chóng tìm kiếm trong các tài liệu cho "AJAX", và không chỉ đơn giản là cho "JavaScript". (Mặc dù bây giờ tôi thấy rằng "AJAX" nằm trong tài liệu. Tôi không chắc mình đã bỏ lỡ nó như thế nào trước đây.) –

2

Dưới đây là một cách tiếp cận để cho Spring MVC để làm việc với các thành phần UI ZK - Rich Web Application with Spring MVC CRUD Demo

Trong bài viết đó, nó được sử dụng Spring MVC điều khiển để giao tiếp với các thành phần ZK UI. (tất cả trong mã Java)