سيقدم هذا القسم بإيجاز بناء الجملة الأساسي في تطوير JSP.
يمكن أن يحتوي البرنامج النصي على أي عدد من عبارات Java أو المتغيرات أو الأساليب أو التعبيرات، طالما أنها صالحة في لغة البرمجة النصية.
تنسيق بناء الجملة للبرنامج النصي:
<% مقتطف الكود%>
وبدلاً من ذلك، يمكنك كتابة عبارة XML المكافئة، مثل هذا:
<jsp:scriptlet> مقتطف الكود</jsp:scriptlet>
يجب كتابة أي نص وعلامات HTML وعناصر JSP خارج البرنامج النصي.
يوجد مثال أدناه، وهو أيضًا أول مثال JSP لهذا البرنامج التعليمي:
<html><head><title>مرحبًا بالعالم</title></head><body>مرحبًا بالعالم!<br/><% out.println("عنوان IP الخاص بك هو" + request.getRemoteAddr()); </body></html>
ملاحظة: يرجى التأكد من تثبيت Apache Tomcat في الدليل C:Apache-tomcat-7.0.2 ومن إعداد بيئة التشغيل بشكل صحيح.
احفظ الكود أعلاه في hello.jsp، ثم ضعه في الدليل C:Apache-tomcat-7.0.2webappsROOT، وافتح المتصفح وأدخل http://localhost:8080/hello في شريط العناوين .jsp . وبعد التشغيل أحصل على النتائج التالية:
يمكن لبيان الإعلان أن يعلن عن واحد أو أكثر من المتغيرات والطرق لاستخدامها بواسطة تعليمات Java البرمجية اللاحقة. في ملف JSP، يجب عليك الإعلان عن هذه المتغيرات والأساليب قبل أن تتمكن من استخدامها.
تنسيق بناء الجملة لإعلان JSP:
<%![إعلان]+...%>
وبدلاً من ذلك، يمكنك كتابة عبارة XML المكافئة، مثل هذا:
<jsp:declaration>مقتطف الكود</jsp:declaration>
مثال البرنامج:
<%! int i = 0; <%! int a, b, c %> <%!
يتم أولاً تحويل تعبير لغة البرمجة النصية الموجود في تعبير JSP إلى سلسلة ثم يتم إدراجه في المكان الذي يظهر فيه التعبير.
بما أن قيمة التعبير يتم تحويلها إلى سلسلة، يمكنك استخدام التعبير في سطر من النص بغض النظر عما إذا كان علامة HTML أم لا.
يمكن أن يحتوي عنصر التعبير على أي تعبير يتوافق مع مواصفات لغة Java، ولكن لا يمكن استخدام الفاصلة المنقوطة لإنهاء التعبير.
تنسيق بناء الجملة للتعبير JSP:
<%= التعبير%>
وبالمثل، يمكنك كتابة عبارة XML المكافئة:
تعبير <jsp:expression></jsp:expression>
مثال البرنامج:
<html> <head><title>اختبار التعليق</title></head> <body><p> تاريخ اليوم: <%= (new java.util.Date()).toLocaleString()%></ ص></الجسم> </html>
وبعد التشغيل أحصل على النتائج التالية:
تاريخ اليوم: 11-سبتمبر-2013 21:24:25
تحتوي تعليقات JSP على وظيفتين رئيسيتين: التعليق على الكود والتعليق على قسم معين من الكود.
تنسيق بناء الجملة لتعليقات JSP:
<%-- يمكنك ملء تعليقات JSP هنا--%>
مثال البرنامج:
<html> <head><title>اختبار التعليق</title></head> <body> <h2>اختبار التعليقات</h2> <%-- لن يتم عرض هذا الجزء من التعليقات على الويب الصفحة-- %> </body> </html>
وبعد التشغيل أحصل على النتائج التالية:
اختبار التعليقات
القواعد النحوية لاستخدام التعليقات في المواقف المختلفة:
قواعد اللغة | يصف |
---|---|
<%--تعليق--%> | تعليقات JSP، لن يتم إرسال محتوى التعليق إلى المتصفح أو حتى تجميعه |
<!--التعليقات --> | تعليقات HTML، يمكنك رؤية محتوى التعليق عند عرض الكود المصدري لصفحة الويب من خلال المتصفح |
<% | يمثل ثابت <% ثابت |
%> | يمثل ثابت %> ثابت |
' | علامات الاقتباس المفردة المستخدمة في السمات |
" | علامات الاقتباس المزدوجة المستخدمة في السمات |
تُستخدم توجيهات JSP لتعيين الخصائص المتعلقة بصفحة JSP بأكملها.
تنسيق بناء جملة تعليمات JSP:
<%@ سمة التوجيه = "القيمة" %>
هناك ثلاث علامات توجيهية:
تعليمات | يصف |
---|---|
<%@ الصفحة ... %> | حدد سمات التبعية للصفحة، مثل لغة البرمجة النصية، وصفحة الخطأ، ومتطلبات ذاكرة التخزين المؤقت، وما إلى ذلك. |
<%@ يشمل...%> | تضمين ملفات أخرى |
<%@ taglib... %> | قدّم تعريف مكتبة العلامات، والتي يمكن أن تكون علامة مخصصة |
تستخدم علامات سلوك JSP هياكل بناء جملة XML للتحكم في محرك servlet. يمكنه إدراج ملف ديناميكيًا، وإعادة استخدام مكونات JavaBean، وتوجيه المستخدم إلى صفحة أخرى، وإنشاء HTML ذي صلة لمكونات Java الإضافية، والمزيد.
تحتوي علامات السلوك على تنسيق بناء جملة واحد فقط، والذي يلتزم بشكل صارم بمعيار XML:
<jsp:action_name attribute="value" />
علامات السلوك هي في الأساس بعض الوظائف المحددة مسبقًا. يسرد الجدول التالي بعض علامات سلوك JSP المتوفرة::
قواعد اللغة | يصف |
---|---|
jsp:تشمل | يُستخدم لتضمين الموارد الثابتة أو الديناميكية في الصفحة الحالية |
jsp:useBean | ابحث عن مكون JavaBean وقم بتهيئته |
jsp:setProperty | قم بتعيين قيمة مكون JavaBean |
jsp:getProperty | أدخل قيمة مكون JavaBean في الإخراج |
جسب: إلى الأمام | تمرير كائن طلب يحتوي على طلب المستخدم من ملف JSP إلى آخر |
jsp: البرنامج المساعد | يستخدم لتضمين كائنات Applet وJavaBean في صفحة HTML التي تم إنشاؤها |
jsp: العنصر | إنشاء عنصر XML ديناميكيًا |
jsp: السمة | تحديد سمات عناصر XML التي تم إنشاؤها ديناميكيًا |
جسب: الجسم | يحدد نص عنصر XML الذي تم إنشاؤه ديناميكيًا |
جسب:نص | يستخدم لتغليف بيانات القالب |
يدعم JSP تسعة متغيرات محددة تلقائيًا، تُعرف بالكائنات الضمنية. يتم عرض مقدمة لهذه الكائنات الضمنية التسعة في الجدول أدناه:
هدف | يصف |
---|---|
طلب | مثيل لفئة HttpServletRequest |
إجابة | مثيل فئة HttpServletResponse |
خارج | مثيل لفئة PrintWriter ، المستخدمة لإخراج النتائج إلى صفحة ويب |
حصة | مثيل فئة HttpSession |
طلب | مثيل لفئة ServletContext ، المتعلقة بسياق التطبيق |
التكوين | مثيل لفئة ServletConfig |
pageContext | مثيل لفئة PageContext ، مما يوفر الوصول إلى كافة الكائنات ومساحات الأسماء الخاصة بصفحة JSP |
صفحة | مشابهة لهذه الكلمة الأساسية في فئات Java |
استثناء | يمثل كائن فئة الاستثناء كائن الاستثناء المقابل في صفحة JSP حيث حدث الخطأ. |
يوفر JSP الدعم الكامل للغة جافا. يمكنك استخدام Java API في برامج JSP وحتى إنشاء كتل تعليمات برمجية لـ Java، بما في ذلك بيانات الحكم وبيانات الحلقة وما إلى ذلك.
إذا... تم حظر آخر، فانظر إلى هذا المثال:
<%!int day = 3; %> <html> <head><title>إذا...مثال آخر</title></head> <body><% if (day == 1 | day == 7) { %> <p> اليوم نهاية الأسبوع</p><% } else { %> <p> اليوم ليس نهاية الأسبوع</p><% } %></body> </html>
وبعد التشغيل أحصل على النتائج التالية:
اليوم ليس عطلة نهاية الأسبوع
الآن دعونا نلقي نظرة على كتلة الحالة الخاصة بالتبديل... وهي مختلفة تمامًا عن الكتلة if...else وهي تستخدم out.println() وهي موجودة بالكامل في علامة البرنامج النصي، مثل هذا:
<%!int day = 3; %> <html> <head><title>SWITCH...مثال على الحالة</title></head> <body><% Switch(day) { case 0: out.println( "إنه يوم الأحد.");break; الحالة 1: out.println("إنه يوم الاثنين.");break; الحالة 3: println("إنه يوم الأربعاء.");break; الحالة 4: out.println("إنه يوم الخميس."); );break; default: out.println("إنه يوم السبت.");
وبعد التشغيل يتم الحصول على النتائج التالية:
إنه الأربعاء.
بيان حلقة
يمكن استخدام أنواع حلقات Java الثلاثة الأساسية في برامج JSP: for وwhile وdo...while.
دعونا نلقي نظرة على مثال للحلقة:
<%!int FontSize %> <html> <head><title>مثال للحلقة</title></head> <body><%for ( حجم الخط = 1; حجم الخط <= 3; حجم الخط ++){ %> < Font color="green" size="<%=fontSize %>"> البرنامج التعليمي لـ JSP </font><br /><%}%></body> </html>
وبعد التشغيل أحصل على النتائج التالية:
برنامج JSP التعليمي برنامج JSP التعليمي البرنامج التعليمي JSPأعد كتابة المثال أعلاه باستخدام حلقة while:
<%!int FontSize %> <html> <head><title>مثال للحلقة</title></head> <body><%while ( FontSize <= 3){ %> <font color="green" size="<%=fontSize %>"> البرنامج التعليمي لـ JSP </font><br /><%fontSize++;%><%}%></body> </html>
أحصل على نفس النتيجة بعد التشغيل:
برنامج JSP التعليمي برنامج JSP التعليمي البرنامج التعليمي JSPيدعم JSP جميع عوامل Java المنطقية والحسابية.
يسرد الجدول التالي عوامل تشغيل JSP الشائعة، حسب ترتيب الأسبقية:
فئة | المشغل | الترابط |
---|---|---|
لاحقة | () [] . | من اليسار إلى اليمين |
يوان واحد | ++ - - ! | من اليمين إلى اليسار |
قابلية الضرب | */% | من اليسار إلى اليمين |
المضافة | + - | من اليسار إلى اليمين |
يحول | >> >>> << | من اليسار إلى اليمين |
علاقة | > >= <<= | من اليسار إلى اليمين |
متساوي/غير متكافئ | ==!= | من اليسار إلى اليمين |
بت و | & | من اليسار إلى اليمين |
بت XOR | ^ | من اليسار إلى اليمين |
قليلا أو | | | من اليسار إلى اليمين |
منطقي و | && | من اليسار إلى اليمين |
منطقي أو | || | من اليسار إلى اليمين |
حكم مشروط | ؟: | من اليمين إلى اليسار |
تكليف | = += -= *= /= %= >>= <<= &= ^= |= | من اليمين إلى اليسار |
فاصلة | , | من اليسار إلى اليمين |
تحدد لغة JSP الثوابت التالية:
منطقية: الصواب والخطأ؛
نوع عدد صحيح (int): كما هو الحال في Java؛
تعويم: كما هو الحال في جافا؛
السلسلة: تبدأ وتنتهي بعلامات اقتباس مفردة أو مزدوجة؛
لاغية: لاغية.