Làm thế nào để tôi tìm thấy tất cả các bộ điều khiển đang chạy trong một ứng dụng?Tìm tất cả các bộ điều khiển trong ứng dụng
Tôi đang cố gắng tạo menu bằng YUI nơi chỉ có các trình điều khiển đã đăng ký mới có menu được hiển thị. Một lớp điều khiển sẽ tạo ra một danh sách tĩnh với các thuộc tính khác nhau chi tiết tên, hành động, vv (giống như plugin grails-nav).
Tôi muốn tạo một thẻ taglib có thể tìm tất cả các bộ điều khiển, xác định danh sách nào có danh sách tĩnh này sau đó xem trong mỗi danh sách và xây dựng một menu.
Tôi nghĩ rằng tôi có thể sử dụng ControllerGrailsClass.metaClass.hasProperty để xác định liệu một bộ điều khiển đã cho có thuộc tính tĩnh hay không - nhưng làm cách nào để tìm tất cả các lớp Bộ điều khiển để thẩm vấn?
Cảm ơn trước
Cảm ơn ataylor trả lời nhắc nhở của bạn. Tôi chỉ nhìn thấy điều này trong cuốn sách hướng dẫn dứt khoát (thông qua tìm kiếm google), nó tiêm lớp grailsApplication và thêm một số lựa chọn của getters động có được * Lớp học, vv .. Câu hỏi khác đáng hỏi là làm thế nào để bạn tìm thấy thông tin này? Ví dụ tôi đã tìm kiếm API grails và lớp không đề cập đến các phương thức động này. Tôi đã tìm kiếm google khác nhau và một lần nữa không tìm thấy bất cứ điều gì. Các tham chiếu grails không thực hiện bất kỳ tài liệu tham khảo này - tôi chắc chắn havent tìm thấy. – Primus
cảm ơn ataylor một lần nữa, một số gợi ý về một nguồn tốt cho thông tin này cũng sẽ được đánh giá cao. Tôi có hướng dẫn dứt khoát cho grails nhưng không bao giờ có thể nhớ thấy loại thông tin này. – Primus
Các phương thức getControllerClasses, getDomainClasses, vv được giải quyết động trong DefaultGrailsApplication.invokeMethod() và getProperty() để hỗ trợ các lớp tạo tác được cung cấp bởi plugin. Ví dụ, plugin Quartz bổ sung thêm một tạo phẩm Job, vì vậy getJobClasses sẽ trả về tất cả các tạo phẩm Job nếu plugin Quartz được cài đặt. –