2010-01-13 37 views
7

Tôi chỉ muốn đưa phía máy chủ tệp HTML vào một tệp HTML khác, sử dụng JSP. PHP không có sẵn. Đây là những gì tôi muốn?JSP tương đương với hàm PHP bao gồm()?

<jsp:include page="/include.html"></jsp:include> 
+0

Bạn đã thử chưa? Nó đã thất bại như thế nào? – BalusC

Trả lời

9

Bạn có một vài tùy chọn. Đầu tiên là <jsp:include>. Thứ hai là <c:import>. Các thẻ c: là JSTL, JavaServer Pages Standard Tag Library.

Sự khác biệt là gì? Chủ yếu là <jsp:include> chèn nội dung của trang JSP khác trong cùng một JAR tương đối so với trang hiện tại trong khi <c:import> có thể đọc trong URL tuyệt đối hoặc tương đối và hiển thị những nội dung đó trên trang, truy xuất Reader hoặc lưu trữ nội dung trong một biến.

Cú pháp cho cả hai là XML giống như vậy:

<jsp:include page="header.jsp"/> 

hoặc

<jsp:include page="header.jsp"></jsp:include> 

Lưu ý: cả hai có thể lấy các thông số.

+1

+1. Nhìn vào các tài liệu, nó xuất hiện rằng sẽ làm những gì OP yêu cầu; tuy nhiên, nó dường như không hoàn toàn giống với PHP bao gồm(). Đáng chú ý, tệp được bao gồm không chia sẻ cùng phạm vi toàn cục; các hàm/lớp được tạo bởi tệp được bao gồm sẽ không có sẵn trong tập lệnh bao gồm, v.v. Thay vào đó, nó thực thi tập lệnh được bao gồm và trả về kết quả. –

+0

Phiếu bầu của bạn đâu, Frank? Tôi đã làm upvote đầu tiên, nhưng tôi không thấy một thứ hai :) – BalusC

+0

Cảm ơn, vì vậy ví dụ tôi có ở trên là cú pháp thích hợp? – mehas

1

Đối với những người muốn hành vi tương tự như PHP bao gồm() hoặc <!--#include file="header.jsp"-->, với chia sẻ phạm vi toàn cầu trong JSP, sử dụng lệnh sau:

<%@include file="header.jsp"%> 

tham khảo: Here

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