יישומוני התסריט של JSP מאפשרים להכניס
קוד כלשהו בתוך
jspService method_ של היישומון,
method הנקרא על ידי service. יישומוני התסריט מופיעים בצורה הבאה:
יישומוני התסריט מקנים גישה למשתנים שמוגדרים אוטומטית, לפיכך אם
לדוגמא תרצה שיופיע פלט מסוים בדף עליך להשתמש במשתנה out
כמו בדוגמא הבאה:
<%
String queryData=
request.getQueryString();
out.println("Attached
GET Data :"+ queryData);
%>
|
בדוגמא מסוימת זו ניתן להשיג את אותו אפקט
בצורה קלה יותר על ידי שימוש בביטוי JSP הבא:
Attached
GET Data :<%= request.getQueryString()%>
|
אולם יישומוני התסריט יכולים
לבצע משימות שלא ניתנות לביצוע בעזרת ביטויים בלבד. משימות אלו כוללות הגדרת כותרות
תגובה וקודי סטאטוס, עדכון בסיס נתונים או הפעלת קוד שמכיל לולאות וכו'. לדוגמא קטע
הקוד הבא מציין שהדף ישלח ללקוח כקובץ טקסט פשוט ולא HTML:
<%
response.setContentType("text/plain");%>
|
חשוב לציין שניתן להגדיר
כותרות תגובה או קודי סטאטוס במגוון מקומות בתוך דף JSP, למרות שלכאורה יכולת זו מפירה את הכלל לפיו יש לציין סוג זה של נתוני תגובה לפני
שליחת תוכן כלשהו של מסמך אל הלקוח, אולם הדבר מותר משום שיישומוני שרתים
שמתקבלים מדפי JSP משתמשים בסוג
printWriter מיוחד (שם המחלקה הספציפית יותר JspWriter) אשר חוצץ את המסמך לפני שליחתו. שימוש נוסף ביישומוני תסריט
הוא הכללה מותנית של מבני JSP ו-HTML
סטנדרטיים. המפתח לגישה זו היא העובדה
שקוד בתוך ישומון תסריט מוכנס אל jspService method
בדיוק כפי שהוא נכתב, וכל HTML סטטי שנמצא לפני או אחרי
ישומון תסריט מומר ל-println -ים. משמעות הדבר הוא שיישומוני תסריט לא אמורים להכיל
Java statements מלאים
ופתיחת בלוקים יכולה להשפיע על HTML או
JSP סטטיים מחוץ לישומוני התסריט. לדוגמא:
<% if
(request.getParameter("gender").eqauls("female") { %>
Dresses are on Sale!!!
<% } else
{ %>
Ties are
now on Sale!!!
<%}%>
|
כשקטע הקוד הנ"ל יומר ל-Servlet התוצאה תהיה דומה לדבר הבא :
if
(request.getParameter("gender").eqauls("female")
{
out.println("Dresses are on Sale!!!");
}
else
{
out.println("Ties are now on Sale!!!");
}
|
|