2013-10-13 14 views
11

Tôi có rất nhiều vùng phổ biến trong thiết kế ứng dụng web của mình, ví dụ như chân trang, thanh tiêu đề, khối ... v.v ... và thực hiện tất cả các tệp JSP ứng dụng để thay đổi tiêu đề là khá bận rộn vì vậy tôi đã tự hỏi nếu tôi có thể làm một cái gì đó giống như các tệp mẫu cho các khu vực chung cho mẫu tiêu đề mẫu, mẫu thanh bên, mẫu chân trang, sau đó tôi có thể bao gồm các mẫu như vậy trong bất kỳ JSP nào bên trong ứng dụng của tôi?Mẫu trong ứng dụng web Spring MVC

Tôi đang sử dụng framework Spring MVC để xây dựng ứng dụng của tôi

+1

Hãy xem Gạch Apache: http://tiles.apache.org/framework/index.html – Jk1

+0

@ Jk1 cảm ơn rất nhiều, có vẻ tuyệt vời nhưng tôi đang tìm kiếm thứ gì đó khá đơn giản để triển khai. Nói cách khác làm thế nào để áp dụng nó trực tiếp trong ứng dụng mà không có bất kỳ khuôn khổ bổ sung, bạn có nghĩ rằng điều này là có thể? – MChan

+0

Có một cách tiếp cận đơn giản hơn, thực sự. Đóng gói nội dung đầu trang/chân trang trong thẻ JSP tùy chỉnh. Không cần thêm khung/thư viện. Đây là hướng dẫn sử dụng: http://docs.oracle.com/javaee/5/tutorial/doc/bnama.html – Jk1

Trả lời

11

Đối với templating bạn có các tùy chọn sau:

  1. thẻ Tuỳ chỉnh JSP. Các thẻ này có thể tồn tại dưới dạng lớp Java hoặc đoạn mã JSP và cung cấp cơ sở cơ bản để đóng gói và sử dụng lại các phần của trang JSP (đầu trang, chân trang, v.v.). Xem thêm trong this manual

  2. Động cơ mẫu như Tiles hoặc trang trí như Sitemesh. Chúng khá mạnh mẽ trong việc tạo bố cục trang phức tạp.

Nếu bạn đang tìm kiếm hỗ trợ chủ đề giao diện người dùng tùy chỉnh, hãy xem custom themes support trong Spring MVC.

+0

Sitemesh không phải là một công cụ tạo mẫu. Đó là một trang trí. – Bart

+0

Cảm ơn, @Bart, chính thức bạn đã đúng. – Jk1

0

Lý tưởng nhất là có, Bạn cần phải tạo tập tin phổ biến thay vì mã dư thừa vì nó có thể dẫn đến nhiều thay đổi nếu u muốn thay đổi một điều duy nhất. Vì vậy, hãy thử sử dụng mã dưới đây dựa trên yêu cầu của bạn.

<%@ include is a static include, <jsp:include is a dynamic include.

Một giải pháp khác: Khi bạn đang sử dụng Spring framework cố gắng sử dụng gạch mùa xuân tìm kiếm trong google để được giúp đỡ nhiều hơn ví dụ SpringByExample

1

Nếu bạn muốn tách Header, Footer và một số công cụ phổ biến khác từ nội dung "thực", sau đó bạn có thể sử dụng Apache Tiles.

Rất dễ tích hợp vào mùa xuân. Vì vậy, ví dụ Spring Roo sử dụng nó.

3

Tôi đã sử dụng Gạch Apache. Nó có thể được tích hợp rất dễ dàng với Spring MVC. Bạn cũng có thể xem xét sử dụng sitemesh. Như bạn nói template header, footer mẫu mà bạn có thể có mẫu cơ bản cho header, footer, menu và bạn có thể tích hợp chúng vào mẫu cơ sở,

Lưu ý: Bạn chỉ có thể có jsp và không html ở đây.

Kiểm tra liên kết này cho mùa xuân bằng ô.

http://www.springbyexample.org/examples/dynamic-tiles-spring-mvc-module.html

+1

Trước khi sử dụng tìm kiếm sitemash cho một số so sánh của gạch và sitemash trong stackoverflow. Ví dụ: http://stackoverflow.com/questions/8565029/apache-tiles-alternatives – Ralph

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