Tôi sắp chọn cách sắp xếp chế độ xem của mình (với spring-mvc, nhưng điều đó không quan trọng lắm)
Có 6 tùy chọn theo như tôi thấy (mặc dù chúng không loại trừ lẫn nhau):
- Gạch
- Sitemesh
- Nhà thương mại
- Vận tốc
<jsp:include>
<%@ include file="..">
Các ô và Sitemesh có thể được nhóm lại; vì vậy có thể Freemarker và Velocity . Cái nào trong mỗi nhóm sử dụng không phải là vấn đề của cuộc thảo luận này, có đủ câu hỏi và thảo luận về nó.
Đây là một bài đọc thú vị , nhưng không thể thuyết phục tôi sử dụng gạch.
Câu hỏi của tôi là - những gì các khuôn khổ này cung cấp mà không thể được thực hiện đúng với <@ include file="..">
và JSTL. Những điểm chính (một số trích từ bài báo):
Bao gồm các phần của trang, như đầu trang và chân trang - không có sự khác biệt giữa:
<%@ include file="header.jsp" %>
và
<tiles:insert page="header.jsp" />
Xác định các thông số trong tiêu đề - như tiêu đề, thẻ meta, v.v. Điều này rất quan trọng, đặc biệt là theo quan điểm SEO. Với các tùy chọn tạo khuôn mẫu, bạn có thể chỉ cần xác định một trình giữ chỗ mà mỗi trang sẽ xác định. Nhưng vì vậy bạn có thể sử dụng jsp với JSTL , sử dụng
<c:set>
(trong trang bao gồm) và<c:out>
(trong trang bao gồm)Sắp xếp lại bố cục - nếu bạn muốn di chuyển breadcrumb phía trên menu hoặc hộp đăng nhập phía trên một bảng điều khiển bên cạnh khác. Nếu phần bao gồm trang (với jsp) không được tổ chức tốt, bạn có thể cần phải thay đổi từng trang trong những trường hợp như vậy. Nhưng nếu bố cục của bạn không quá phức tạp và bạn đặt những thứ phổ biến trong đầu trang / chân trang, thì không có gì phải lo lắng.
Kết hợp giữa các thành phần chung và nội dung cụ thể - tôi không tìm thấy vấn đề với điều này. Nếu bạn muốn sử dụng lại một số phân đoạn, hãy di chuyển nó đến một trang không bao gồm bất kỳ đầu trang / chân trang nào và đưa nó vào bất cứ nơi nào cần thiết.
Hiệu quả -
<%@ include file="file.jsp" %>
hiệu quả hơn bất kỳ thứ gì khác, vì nó được biên dịch một lần. Tất cả các tùy chọn khác được phân tích cú pháp / thực thi nhiều lần.Độ phức tạp - tất cả các giải pháp không phải jsp đều yêu cầu các tệp xml bổ sung, bao gồm bổ sung, cấu hình bộ xử lý trước, v.v. Đây vừa là một đường cong học tập vừa giới thiệu thêm các điểm tiềm ẩn của lỗi. Ngoài ra, việc hỗ trợ và thay đổi trở nên tẻ nhạt hơn - bạn phải kiểm tra một số tệp / cấu hình để hiểu điều gì đang xảy ra.
Trình giữ chỗ - tốc độ / công cụ tự do có cung cấp gì nhiều hơn JSTL không? Trong JSTL, bạn đặt trình giữ chỗ và sử dụng mô hình (được đặt trong phạm vi yêu cầu hoặc phiên, bởi bộ điều khiển) để điền vào các trình giữ chỗ này.
Vì vậy, hãy thuyết phục tôi rằng tôi nên sử dụng bất kỳ khuôn khổ nào ở trên thay vì / ngoài JSP đơn giản.