Nếu bạn không sử dụng các tài sản-Pipeline bạn có thể lập bản đồ tài nguyên tĩnh cho URL bằng cách làm theo các bước được nêu trong số Grails Documentation. Tuy nhiên, câu hỏi của bạn là hỏi cách ánh xạ một tài nguyên tới một URL với Asset-Pipeline plugin.
Burt Beckwith cung cấp thông tin chi tiết về Grails forum một vài năm trước về vai trò của Grail trong việc phân phát tài nguyên tĩnh.
Grails không phân phát tài nguyên tĩnh, vùng chứa sẽ hoạt động. Vì vậy, không có cách nào để định cấu hình trực tiếp bản đồ - bạn cần phải phân phối nó thông qua bộ điều khiển hoặc định cấu hình proxy như Eric đề xuất.
Burt
Câu trả lời này có thể không hài lòng. Nhưng nếu bạn phải phục vụ một tài nguyên tĩnh và hoàn toàn không muốn sử dụng một bộ điều khiển hoặc proxy, bạn có thể thử những điều sau đây.
Tạo chế độ xem có tên image.gsp. Chế độ xem sẽ chỉ chứa thẻ nội dung. Sử dụng các ví dụ của bạn ở trên,
<asset:image src="t1.png"/>
Sau đó, định cấu hình ánh xạ URL của bạn để trỏ đến trang image.gsp
.
class UrlMappings {
static mappings = {
...
"/t1.png" (view: "image")
...
}
}
Tôi nhận ra đây có thể không phải là phương pháp chính xác mà bạn đang hy vọng sử dụng. Nhưng tôi nghĩ rằng sự hiểu biết về vai trò của Grails so với container chạy Grails sẽ giúp thông báo quyết định phân phối đúng tài nguyên cho người dùng.
Tôi biết điều này có vẻ không liên quan nhưng nếu bạn muốn tạo trang liệt kê nội dung của một thư mục, hãy xem số post by CodePanda này. Mã của anh ta có thể được sử dụng như một khuôn mẫu để tạo ra một bộ điều khiển để phục vụ một tệp duy nhất và anh ta giải thích cách cập nhật khung nhìn, bộ điều khiển và groovy.config.
Đó là một cách tiếp cận thú vị, nhưng có vẻ như chỉ dẫn đến 404 (tôi đã thử thêm các hoán vị khác bằng cách sử dụng 'AssetController' không thành công). Bạn có một ví dụ làm việc cụ thể? –
Thực ra không, đó chỉ là một ý tưởng. Tôi đã có một cái nhìn ngắn tại 'AssetController' một ý nghĩ có thể làm việc ... Có lẽ một cái nhìn vào' AssetTagLib' sẽ giúp bạn hiểu 'AssetPlugin' và bạn có thể viết Controller của chính bạn mà bạn muốn. – YAT