Tôi đang sử dụng grails 2.0.1 và tôi đã thử liên kết tới trang html bằng url trực tiếp = "somefile.html> nhưng nó không hoạt động. Làm cách nào để tôi làm điều đó? Vui lòng giúpTôi muốn sử dụng trang HTML trong ứng dụng grails của mình. Nhưng không thể
5
A
Trả lời
7
bạn cần phải làm hai việc:.
- Hãy chắc chắn rằng các tập tin được lưu trữ dưới
web-app/somefile.html
, đây là nơi mà bạn lưu trữ file nguyên gốc cho máy chủ Thay vì sử dụng một URL mã hóa cứng, sử dụng
g.resource()
hoặc trong các trường hợp này, bạn sẽ sử dụng nó như sau:<a href="${g.resource(file:'somefile.html')}">My Link</a>
Lý do sử dụng thẻ g.resource
là đảm bảo liên kết chính xác cho tệp. Nếu bạn chỉ cần mã cứng tệp như href="somefile.html"
thì đó là một đường dẫn tương đối. Nếu bạn đang ở URI myapp/controller/action/foo
, nó sẽ tìm tệp dưới myapp/controller/action/somefile.html
.
Lưu ý: Nếu bạn đang sử dụng plugin cached-resources
hoặc thứ gì đó tương tự, bạn sẽ thấy URL đầu ra không thực sự là myapp/somefile.html
. Tệp vẫn có thể truy cập được từ vị trí đó, nhưng các liên kết được tạo sẽ trỏ đến một URL tĩnh thay thế.