דף הבית   | מפת האתר   | אודות

 מדריך ללימוד JSP >רכיבי תסריט>יישומוני תסריט JSP

הינך נמצא ב :

יישומוני תסריט JSP

יישומוני התסריט של JSP מאפשרים להכניס קוד כלשהו בתוך jspService method_ של היישומון, method הנקרא על ידי service. יישומוני התסריט מופיעים בצורה הבאה:

<% java code%>

יישומוני התסריט מקנים גישה למשתנים שמוגדרים אוטומטית, לפיכך אם לדוגמא תרצה שיופיע פלט מסוים בדף עליך להשתמש במשתנה 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!!!");

}

 

 



      
  כל הזכויות שמורות למערכות מידע אית"ן