2012-03-31 22 views
5

Làm thế nào tôi có thể gọi một phương pháp trong một trong các lớp điều khiển của tôi mà không có grails cố gắng để tạo ra một cái nhìn?Làm thế nào để gọi một hành động mà không tạo ra một cái nhìn trong grails

+0

bạn đang gọi từ đâu và bạn đang cố gắng làm gì –

+0

Hành động trong bộ điều khiển luôn phải gửi một cái gì đó trở lại cho người dùng. Nhưng nó không phải là một trang GSP hay HTML, bạn có thể tự xây dựng một phản ứng của bất kỳ loại nào. Như nate gợi ý, chúng ta cần phải biết những gì bạn muốn đạt được để có thể giúp bạn tìm ra một giải pháp. – David

+1

bạn đã thử 'render' chưa? – neodevelop

Trả lời

4

Bạn có thể redirect cho một hành động điều khiển khác.

class PuppyController { 

    def woof() { 
    redirect(action:'bark') 
    } 

    def bark(){ 
    response.write "Moo" 
    } 

} 

Tại một thời điểm nào đó, bạn phải viết thư trả lời hoặc chuyển hướng đến phương thức/đóng cửa tương ứng với chế độ xem để người dùng có thể nhận đầu ra.

Nếu phương pháp bạn đang cố gắng gọi là trên bộ điều khiển khác, rất có thể là YOAR LÀM IT WRONG.

Nếu, ví dụ, tôi có phương pháp điều khiển tải lên tệp và phương pháp khác tạo tên tệp cho tệp đó dưới dạng kết hợp một số quy ước tôi tạo (nói dấu thời gian + "tệp đẹp cho" + tên người dùng) trên một bộ điều khiển khác, bạn nên đẩy mạnh phương thức điều khiển đó lên một số Service và đưa nó vào cả hai bộ điều khiển.

2
class FooController { 

    def fooAction() { 
    render("Successful call to fooAction") 
    } 

} 
0

Về cơ bản, bạn có thể tạo trường hợp bộ điều khiển (thông qua từ khóa 'mới') và sau đó gọi hành động quan tâm. Vui lòng cung cấp thêm chi tiết về những gì bạn muốn làm, vì vậy tôi có thể cung cấp câu trả lời tốt hơn ...

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