2011-12-19 37 views
12

Tôi đang viết một ứng dụng Spring MVC và tìm cách bố trí các bố cục trong chế độ xem. Tùy chọn duy nhất mà tôi thấy là Apache Tiles, mà tôi đã sử dụng trước đây và biết làm thế nào đau đớn nó là để duy trì cấu hình của nó.Lựa chọn thay thế cho Apache Tiles

Có lựa chọn thay thế nào tốt không? Tôi nhìn vào SiteMeshSpring Surf cả hai dường như không hoạt động.

Trả lời

10

Tôi đã đối mặt với tình trạng khó xử tương tự khoảng một tháng trước. Tôi đã là một nhà phát triển dày dạn sử dụng gạch apache, và tôi muốn thử một cái gì đó khác biệt.

Tôi đã thực hiện một số nghiên cứu và nhận thấy rằng Spring MVC có một số tích hợp với freemarker và sitemesh. Tôi quyết định cho cả hai một shot.

Gạch dường như có cộng đồng năng động nhất.

Bạn cũng có thể thử triển khai vận tốc thuần túy.

Tóm lại, dự án của tôi đã hoàn nguyên trở lại ô xếp. Gạch là một khuôn khổ khuôn mẫu mạnh mẽ, và một khi bạn hiểu được sức mạnh của nó, tôi sẽ thấy khó để tìm một sự thay thế tốt. Ngoài ra, nếu bạn đã có tay nghề cao trong gạch apache, tôi tìm ra Các lợi ích của việc chuyển khung (nếu có) không biện minh cho đường cong học tập cần thiết để nhặt SiteMesh/Freemarker

http://www.sitemesh.org/overview.html

http://freemarker.sourceforge.net/

+0

Tôi đã thử Scalate, nhưng không tốt.Bạn là đúng, nó không có giá trị nỗ lực học một khuôn khổ khác khi Gạch có thể đáp ứng tất cả các nhu cầu của tôi. –

1

IMO SiteMesh và Tiles là cả hai cách tiếp cận khá tốt, mặc dù các bản phát hành mới hơn của Gạch bổ sung thêm nhiều sức mạnh chưa được khai thác - nó không chỉ là một cơ chế tạo khuôn mẫu đơn giản.

Nếu bạn đang tìm kiếm vấn đề bảo trì, tôi sẽ xem xét việc gói nó lên trong một lớp trừu tượng mỏng bằng cách sử dụng giao diện DSL hoặc ánh sáng, hoặc có thể tạo ra sự khác biệt lớn.

2

Gạch và Sitemesh rất khác với những gì chúng được thiết kế.

  • Gạch được sử dụng như một phần của ứng dụng được thiết kế để sử dụng lát.
  • Sitemash được thiết kế dưới dạng bộ lọc trước một hoặc nhiều ứng dụng hiện có. Nơi bạn muốn thay đổi đầu ra của các ứng dụng (ví dụ: (một nhiệm vụ rất dễ) thay thế logo hoặc thêm một tùy chọn menu phụ).

Mặt khác, tôi không thấy lý do tại sao có quá nhiều xml. Bạn phải viết một khối xml cho mỗi trang để xác định bố cục nào cần. (Nếu bạn vẫn định cấu hình danh sách các tệp có chứa cấu hình lát, hãy xem 'org.springframework.web.servlet.view.tiles2.TilesConfigurer ".)

Nếu bạn muốn loại bỏ ngay cả những tệp này, sau đó, có lẽ, bạn nên suy nghĩ nhiều hơn của việc mở rộng gạch vì sử dụng một khuôn khổ khác.

0

bạn có thể sử dụng phpj

nó dễ sử dụng, đi kèm với các ví dụ. bạn có thể sử dụng nó để xem mẫu hoặc tạo ra nội dung html của bạn theo bất kỳ cách nào bạn muốn.