Directive include ใช้เพื่อรวมไฟล์ในขั้นตอนการแปล (translation phase) Directive นี้สั่งให้คอนเทนเนอร์รวมเนื้อหาของไฟล์ภายนอกอื่นๆ กับ JSP ปัจจุบันในขั้นตอนการแปล คุณสามารถเขียนคำสั่ง include directives ได้ที่ใดก็ตามในหน้า JSP
รูปแบบทั่วไปของ Directive นี้คือ -
<%@ include file = "relative url" >
ชื่อไฟล์ใน Include Directive จริงๆ แล้วคือ URL สัมพัทธ์ หากคุณระบุแค่ชื่อไฟล์โดยไม่มีพาธ คอมไพเลอร์ JSP จะสมมติว่าไฟล์อยู่ในไดเรกทอรีเดียวกับ JSP ของคุณ
คุณสามารถเขียนในรูปแบบ XML เทียบเท่าได้ดังนี้ -
<jsp:directive.include file = "relative url" />
ตัวอย่าง
ตัวอย่างที่ดีของ Directive include คือการรวม Header และ Footer ร่วมกับหน้าเนื้อหาหลายหน้า
ลองกำหนดไฟล์ 3 ไฟล์ (a) header.jsp, (b) footer.jsp, และ (c) main.jsp ดังนี้ -
เนื้อหาของ header.jsp -
<%! int pageCount = 0; void addCount() { pageCount++; } %> <% addCount(); %> <html> <head> <title>The include Directive Example</title> </head> <body> <center> <h2>The include Directive Example</h2> <p>This site has been visited <%= pageCount %> times.</p> </center> <br/><br/>
เนื้อหาของ footer.jsp -
<br/><br/> <center> <p>Copyright © 2010</p> </center> </body> </html>
สุดท้าย เนื้อหาของ main.jsp -
<%@ include file = "header.jsp" %> <center> <p>Thanks for visiting my page.</p> </center> <%@ include file = "footer.jsp" %>
เก็บไฟล์ทั้งหมดไว้ในไดเรกทอรีราก และลองเข้าถึง main.jsp คุณจะได้ผลลัพธ์ดังนี้ -
The include Directive Example This site has been visited 1 times. Thanks for visiting my page. Copyright © 2010
Refresh main.jsp และคุณจะพบว่าตัวนับการเข้าชมเพิ่มขึ้นเรื่อยๆ
คุณสามารถออกแบบเว็บเพจตามสติปัญญาสร้างสรรค์ของคุณ แนะนำให้เก็บส่วนไดนามิกของเว็บไซต์ในไฟล์แยก และรวมเข้าไปในไฟล์หลัก ทำให้ง่ายต่อการเปลี่ยนแปลงส่วนหนึ่งของเว็บเพจ