2011-03-17 27 views
5

Tôi đang tạo một ứng dụng web grails, và có chỉ mục chính gsp và có một số thành phần phổ biến sẽ phổ biến trên hầu hết các trang trên trang web mà tôi đang sử dụng một phần mẫu.Tải một phần mẫu Ajax - Với Grails

Mỗi mẫu một phần sẽ bị cô lập hoàn toàn và chứa thông tin rất khác nhau, vì vậy mỗi mẫu sẽ nhận được thông tin từ các bộ điều khiển khác nhau.

Điều tôi muốn là khi tải trang, cho từng mẫu một phần thực hiện cuộc gọi đến bộ điều khiển để tải nội dung bắt buộc - Tôi hy vọng có một số thẻ tôi có thể dễ dàng đặt vào các phần của mình. tự động gọi bộ điều khiển khi tải.

Điều này có khả thi không?

---- EDIT -----

Ngoài ra, một trong những điều khiển các mẫu phần sẽ được kéo lại thông tin từ một dịch vụ web có thể mất một thời gian, vì vậy nó sẽ là tốt nếu tôi cũng có thể tải các mẫu này không đồng bộ ..

Cảm ơn!

Trả lời

4

Đó là những gì Thẻ <g:include> dành cho. Nó rất hữu ích bởi chính nó nhưng thậm chí nhiều hơn nếu kết hợp với springcache plugin và sử dụng bộ đệm trang của bộ nhớ đệm. Kể từ khi bao gồm các cuộc gọi một hành động thường xuyên trong một bộ điều khiển bạn cũng có thể tiêu thụ nó bằng một cuộc gọi ajax.

+0

Cảm ơn Stefan! trông giống như những gì tôi cần, tuy nhiên, tôi đã bao gồm trong các mẫu của tôi .GSP và phương thức điều khiển dường như không được gọi - có gì không khác tôi cần phải làm gì? – rhinds

+0

Ngoài ra, bất kỳ cơ hội nào bạn có thể chỉ cho tôi một ví dụ ajax bằng cách sử dụng thẻ include? Cảm ơn một lần nữa! – rhinds

+0

Tùy thuộc vào usecase của bạn: nếu bạn muốn gọi một hành động được dự định để được bao gồm bởi một số hành động khác cũng thông qua một cuộc gọi ajax, bạn nên sử dụng http://www.grails.org/doc/latest/ref/Tags/ remoteFunction.html. Nếu kết quả của một cuộc gọi ajax nên bao gồm một số hành động khác, g: include nên được sử dụng trong gsp được gọi bởi ajax. –

Các vấn đề liên quan