2012-06-14 30 views
5

Tôi có câu hỏi về ưu và nhược điểm của g: render và g: include. Trong ứng dụng của tôi, tôi có một đoạn mã cho thấy một số thông tin phải được lặp lại trong một số gsp, những gì nó hiển thị phụ thuộc vào một chút logic.
Tôi có nghi ngờ là tốt hơn nên sử dụng một số g: bao gồm hoặc g: hiển thị ???
Vì vậy, tốt hơn là thực hiện logic trên bộ điều khiển truyền mô hình đến trang sử dụng bố cục đi kèm với g: render hoặc tốt hơn để đặt ag: include vào một hành động khác trong bộ điều khiển khác trong gsp thực hiện logic của mảnh đó?
Tôi thích lựa chọn thứ hai, nhưng mức độ ảnh hưởng đến hiệu suất như thế nào?g: include vs g: render

Trả lời

9

Chúng chỉ được sử dụng trong các trường hợp khác nhau. Bạn sử dụng <g:include .../> khi bạn có bộ điều khiển trả lại một đoạn nội dung dễ dàng được nhúng trong nhiều GSP. Điều này cũng hữu ích nếu bạn có khối lượng lưu lượng truy cập cao nơi bạn đang thực sự lưu vào bộ nhớ đệm ở cấp bộ điều khiển vì bạn có thể loại bỏ rất nhiều chi phí.

<g:render.../> hữu ích khi bạn cần mô đun trong trang của mình. Đặc biệt đối với các cuộc gọi AJAX nơi ban đầu bạn có thể tải một phần của trang, sau đó muốn cập nhật nó dựa trên một số sự kiện AJAX.

Cả hai có thể được sử dụng để sử dụng lại nội dung và cả hai đều phù hợp trong ngữ cảnh phù hợp.

0

g: hiển thị rất hữu ích khi bạn đang làm việc trên các mẫu một phần và bạn có mô hình bạn cần vv. Tuy nhiên, khi bạn cần tiến bộ bổ sung (hoặc mở rộng) để chuyển những thứ bổ sung, có ý nghĩa hơn cho quan điểm của bạn (mẫu) , tốt hơn là sử dụng g: include. Bằng cách sử dụng g: include bạn cũng sẽ có một bộ điều khiển đẹp và điều đó có nghĩa là mã dễ đọc hơn nhiều khi sử dụng bộ điều khiển đó. Và sẽ không có so sánh hiệu suất giữa 'chuyển đến một hành động điều khiển và hiển thị chế độ xem mà không thực hiện thao tác bổ sung' và 'hiển thị chế độ xem'.

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