فایل JSPF چیست؟
فایل با پسوند jspf. JSP fragment نامیده می شود. یک فایل ثابت موجود در یک فایل JSP دیگر. فایلهای JSPF به تنهایی کامپایل نمیشوند، اما در کنار صفحهای که در آن گنجانده شده است، کامپایل میشوند. نحو آن شبیه به کد Java Server Pages (JSP) است. این فقط شامل یک قطعه از JSP است. شامل تمام سند JSP نمی شود.
فرمت فایل JSPF
اصطلاح بخش JSP به جای آن استفاده می شود زیرا عبارت JSP fragment در مشخصات JSP 2.0 بیش از حد بارگذاری شده است. قطعات JSP می توانند از پسوندهای .jsp. یا .jspf. استفاده کنند و باید در /WEB-INF/jspf یا با بقیه فایل های ثابت قرار گیرند. قطعات JSP که صفحات کامل نیستند باید از پسوند .jspf استفاده کنند و باید در /WEB-INF/jspf قرار گیرند.
JSP یا JSP Fragment File Organization
یک فایل JSP شامل بخش های زیر به ترتیب لیست شده است:
- باز کردن نظرات
- دستورالعمل(های) صفحه JSP
- دستورالعمل(های) کتابخانه تگ اختیاری
- اعلامیه(های) JSP اختیاری
- کد HTML و JSP
یک فایل JSP یا JSPF هر دو با یک نظر سبک سمت سرور شروع میشوند که Opening Comment نامیده میشود:
<%--
- Author(s):
- Date:
- Copyright Notice:
- @(#)
- Description:
--%>
این نظر فقط در سمت سرور قابل مشاهده است زیرا در حین رندر صفحه JSP حذف می شود.
چه زمانی از فایل JSP Fragment استفاده کنیم؟
هنگامی که یک صفحه JSP به یک ساختار خاص اما پیچیده نیاز دارد که ممکن است در سایر صفحات JSP نیز مورد استفاده مجدد قرار گیرد، یکی از راههای رسیدگی به این امر، تقسیم آن به قطعات با استفاده از الگوی نمای ترکیبی (بخش الگوهای طرحهای جاوا) است. به عنوان مثال، یک صفحه JSP گاهی اوقات طرح منطقی زیر را در ساختار ارائه خود دارد:
در این شرایط، این صفحه JSP ترکیبی را می توان به ماژول های مختلفی تبدیل کرد که هر کدام یک قطعه JSP جداگانه نامیده می شوند. سپس قطعات JSP را می توان در مکان های مناسب در صفحه JSP ترکیبی قرار داد. از این رو، فایل JSPF زمانی استفاده میشود که از دستورالعملهای شامل استاتیک برای گنجاندن صفحهای استفاده میشود که به خودی خود فراخوانی نمیشود، فایلهای با پسوند jspf. باید در فهرست /WEB-INF/jspf/ آرشیو برنامه وب قرار گیرند. جنگ).
مثال JSPF
<%@ include file="/WEB-INF/jspf/header.jspf" %>
...
<%@ include file="/WEB-INF/jspf/menuBar.jspf" %>
...
<jsp:include page="<%= currentBody %>" />
...
<%@ include file="/WEB-INF/jspf/footnote.jspf" %>
...
<%@ include file="/WEB-INF/jspf/footer.jspf" %>
...