علامات عمل JSP: قائمة عناصر العمل القياسية لـ JSP

ما هو عمل JSP؟

تستخدم إجراءات JSP البنية الموجودة في بناء جملة XML للتحكم في سلوك محرك servlet. يمكننا إدراج ملف ديناميكيًا، وإعادة استخدام مكونات الفول، وإعادة توجيه المستخدم إلى صفحة أخرى، وما إلى ذلك من خلال إجراءات JSP مثل التضمين وإعادة التوجيه. وعلى عكس التوجيهات، تتم إعادة تقييم الإجراءات في كل مرة يتم فيها الوصول إلى الصفحة.

بناء الجملة:

<jsp:action_name attribute="value" />

في هذا البرنامج التعليمي، ستتعرف على إجراءات JSP القياسية. تُستخدم علامات JSP Standard Action للتحكم في سلوك محرك servlet.

علامات الإجراء القياسية متوفرة في JSP

يوجد 12 نوعًا من علامات الإجراء القياسية في JSP. فيما يلي قائمة بعلامات الإجراء القياسية في JSP:

  • jsp:useBean
  • jsp:تشمل
  • jsp:setProperty
  • jsp:getProperty
  • جسب: إلى الأمام
  • jsp: البرنامج المساعد
  • jsp: السمة
  • جسب: الجسم
  • جسب:نص
  • jsp:param
  • jsp: السمة
  • جسب: الإخراج

jsp:useBean

  • يتم استخدام اسم الإجراء هذا عندما نريد استخدام الفاصوليا في صفحة JSP.
  • باستخدام هذه العلامة، يمكننا بسهولة استدعاء حبة.

بناء جملة jsp: UseBean:

<jsp:useBean id="" class="" />

هنا يحدد المعرف لهذه الحبة والفئة هي المسار الكامل لفئة الحبة

على سبيل المثال:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Action JSP1</title>
</head>
<body>
<jsp:useBean id="name" class="demotest.DemoClass">
</body>
</html>

شرح الكود:

سطر الكود 10: في الكود أعلاه نستخدم "معرف الفول" و"مسار الفئة" للفاصوليا.

jsp:تشمل

  • كما أنها تستخدم لإدراج ملف jsp في ملف آخر، تمامًا مثل التضمين تعليمات.
  • يتم إضافته خلال مرحلة معالجة الطلب

بناء جملة jsp:تشمل

<jsp:include page="page URL" flush="true/false">

على سبيل المثال:

Action_jsp2 (سطر الكود 10) نقوم بتضمين ملف date.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Date Guru JSP</title>
</head>
<body>
<jsp:include page="date.jsp" flush="true" />
</body>
</html>

Date.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<p>
Today's date: <%= {new java.util.Date()).toLocaleString()%>
</p>
</body>
</html>

شرح الكود:

Action_jsp2.jsp

سطر الكود 10: في الملف الأول قمنا بتضمين ملف date.jsp في action_jsp2.jsp

التاريخ.jsp:

سطر الكود 11: نقوم بطباعة تاريخ اليوم في سطر الكود 11 في date.jsp

عند تنفيذ التعليمات البرمجية following هو الإخراج.

jsp:تشمل

الإخراج:

  • يعرض تاريخ اليوم مع الوقت حيث يتم تضمين ملف التاريخ في ملف jsp الرئيسي

jsp:setProperty

  • تُستخدم خاصية الإجراءات القياسية هذه في JSP لتعيين خاصية الحبة.
  • نحن بحاجة إلى تحديد الفول قبل تحديد الخاصية

بناء الجملة:

<jsp:setproperty name="" property="" >

هنا، يحدد الاسم الحبة التي تم تعيين خصائصها والممتلكات التي نريد تعيينها.

أيضًا، يمكننا تعيين القيمة والسمة المعلمة.

القيمة هنا ليست إلزامية، وهي تحدد القيمة المخصصة للخاصية.

المعلمة هنا هي اسم معلمة الطلب التي يمكن جلب القيمة باستخدامها.

سيتم توضيح مثال setproperty أدناه باستخدام getproperty

jsp:getProperty

  • يتم استخدام هذه الخاصية للحصول على خاصية الحبة.
  • يتم تحويله إلى سلسلة ويتم إدراجه أخيرًا في الإخراج.

بناء الجملة:

<jsp:getAttribute name="" property="" >

هنا، يجب تحديد اسم الحبة التي سيتم استرداد الخاصية منها وتحديد الحبة. سمة الخاصية هي اسم خاصية الحبة المراد استردادها.

مثال على setProperty وgetProperty:

تيست بين.جافا:

package demotest;

import java.iO.Serializable;

public class TestBean implements Serializable{
	
	private String msg = "null";
	
	public String getMsg() {
		return msg;
	}
	
	public void setMsg(String msg) {
		this.msg = msg;
	}
}

Action_jsp3.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Action 3</title>
</head>
<body>
<jsp:useBean id="GuruTest" class="demotest.TestBean" />
<jsp:setProperty name="GuruTest" property="msg" value="GuruTutorial" />
<jsp:getProperty name="GuruTest" property="msg" />
</body>
</html>

شرح الكود:

تيست بين.جافا:

سطر الكود 5: يقوم TheTestBean بتنفيذ الفئة القابلة للتسلسل. إنها فئة فول تحتوي على أدوات ضبط الحروف في الكود.

سطر الكود 7: هنا نأخذ رسالة متغيرة سلسلة خاصة كـ "فارغة"

سطر الكود 9-14: نحن هنا نستخدم الحروف وأدوات ضبط المتغير "msg".

Action_jsp3.jsp

سطر الكود 10: نحن هنا نستخدم علامة "useBean"، حيث تحدد الفول، أي TestBean الذي يجب استخدامه في فئة jsp هذه

سطر الكود 11: نقوم هنا بتعيين قيمة رسالة الخاصية لفاصوليا TestBean باسم "GuruTutorial".

CodeLine12: هنا باستخدام getProperty، نحصل على قيمة رسالة الخاصية لفاصوليا TestBean، أي GuruTutorial الموجودة في الإخراج

عند تنفيذ الكود أعلاه تحصل على فولوwing انتاج:

jsp:getProperty

الإخراج:

في هذا المثال، باستخدام TestBean، نحاول تعيين الخاصية "gurutest" باستخدام setProperty والحصول على قيمة الخاصية باستخدام getProperty كـ "GuruTutorial"

جسب: إلى الأمام

يتم استخدامه لإعادة توجيه الطلب إلى jsp آخر أو أي صفحة ثابتة.

هنا يمكن إعادة توجيه الطلب بدون معلمات أو باستخدام معلمات.

بناء الجملة:

<jsp:forward page="value">

تمثل القيمة هنا المكان الذي يجب إعادة توجيه الطلب فيه.

على سبيل المثال:

Action_jsp41.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Action JSP1</title>
</head>
<body>
<jsp:forward page="jsp_action_42.jsp" />
</body>
</html>

Jsp_action_42.jsp

Guru Action JSP2</title>
</head>
<body>
<a>This is after forward page</a>
</body>
</html>

شرح الكود

Action_jsp41.jsp

سطر الكود 10: نحن هنا نستخدم Forward JSP Action لإعادة توجيه الطلب إلى الصفحة المذكورة في الخاصية، أي jsp_action_42.jsp

Jsp_action_42.jsp

سطر الكود 10: بمجرد استدعاء action_jsp41.jsp، تتم إعادة توجيه الطلب إلى هذه الصفحة، ونحصل على الإخراج كـ "هذا بعد إعادة توجيه الصفحة".

عندما نقوم بتنفيذ الكود أعلاه، نحصل على following الناتج

جسب: إلى الأمام

الإخراج:

نحن نسمي action_jsp41.jsp ولكن تتم إعادة توجيه الطلب إلى jsp_action_42.jsp، ونحصل على الإخراج من تلك الصفحة كـ "هذا بعد إعادة توجيه الصفحة".

jsp: البرنامج المساعد

  • يتم استخدامه للتعريف جافا المكونات إلى jsp، أي أن مكونات Java يمكن أن تكون إما برنامجًا صغيرًا أو حبة.
  • يكتشف المتصفح ويضيف أو علامات JSP في الملف

بناء الجملة:

<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
  • هنا يحدد النوع إما كائنًا أو حبة
  • يحدد الرمز اسم فئة التطبيق الصغير أو الحبة
  • تحتوي قاعدة التعليمات البرمجية على عنوان URL الأساسي الذي يحتوي على ملفات الفئات

jsp:param

  • هذا هو الكائن الفرعي لكائن البرنامج المساعد الموضح أعلاه
  • يجب أن يحتوي على إجراء واحد أو أكثر لتوفير معلمات إضافية.

بناء الجملة:

<jsp:params>
<jsp:param name="val" value="val"/ >
</jsp:params>

مثال على البرنامج المساعد والمعلمة

Action_jsp5.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Action guru jsp5</title>
</head>
<body>
<jsp:plugin type="bean" code="Student.class" codebase="demotest.Student">
  <jsp:params>
     <jsp:param name="id" value="5" />
     <jsp:param name="name" value="guru" />
  </jsp:params>
</jsp:plugin>
</body>
</html>

طالب. java

package demotest; 

import java.io.Serializable;

public class Student implements Serializable {
	
	public String getName () { 
		return name; 
	}
	public void setName (String name) {
		this.name = name;
	}
	public int getId() { 
		return id; 
	} 
	public void setId (int id) { 
		this.id = id; 
	} 
	private String name = "null"; 
	private int id = 0;
	
}

شرح الكود:

Action_jsp5.jsp

سطر الكود 10: نحن هنا نأخذ كائن jsp: plugin حيث نأخذ ثلاث سمات

  • النوع - في هذه الحالة هو الفول
  • الرمز-اسم الملف
  • Codebase – المسار الذي يحمل اسم الحزمة

سطر الكود 11-14: نحن هنا نأخذ كائن jsp: params والذي يوجد تحته كائن بارام فرعي له سمات الاسم والقيمة، ونقوم بتعيين قيم المعرف والاسم في هذه السمات.

طالب. java

الكود 7-17: نحن نستخدم الحروف والمحددات لمعرف واسم المتغيرات

الكود 19-20: نقوم بتهيئة معرف المتغيرات واسمها.

سنحصل هنا على مخرجات في الحالة التي سيتم فيها استخدام القيم المحددة للمعلمة في Student Bean. في هذه الحالة، لن يكون لدينا أي مخرجات لأننا نقوم فقط بتعيين والحصول على قيم المعلمة ولكن لا نطبعها في أي مكان.

جسب: الجسم

  • يتم استخدام هذه العلامة لتعريف XML ديناميكيًا، أي عناصر يمكن أن تولد خلال وقت الطلب من وقت التجميع.
  • إنه في الواقع يحدد XML، الذي يتم إنشاؤه بشكل ديناميكي لنص العنصر.

بناء الجملة:

<jsp:body></jsp:body>

نكتب هنا علامة نص XML ضمن هذه العلامات

jsp: السمة

  • يتم استخدام هذه العلامة لتعريف XML ديناميكيًا، أي يمكن إنشاء العناصر أثناء وقت الطلب بدلاً من وقت الترجمة
  • فهو في الواقع يحدد سمة XML التي سيتم إنشاؤها ديناميكيًا.

بناء الجملة:

<jsp:attribute></jsp:attribute>

نكتب هنا علامة سمة XML.

مثال على الجسم والصفة:

Action_jsp6.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Action Guru JSP6</title>
</head>
<body>
<jsp:element name="GuruXMLElement">
<jsp:attribute name="GuruXMLattribute">
Value
</jsp:attribute>
<jsp:body>Guru XML</jsp:body>
</jsp:element>
</body>
</html>

شرح الكود:

سطر الكود 10: نحن هنا نحدد العنصر الذي تم إنشاؤه ديناميكيًا كـ XML، وسيكون اسمه GuruXMLElement

سطر الكود 11-13: نحن هنا نحدد سمة والتي ستكون سمة XML لـ XML الذي تم إنشاؤه ديناميكيًا.

سطر الكود 14: لدينا هنا إجراء الجسم حيث نكتب نص XML الذي سيتم إنشاؤه في XML ديناميكيًا.

عند تنفيذ التعليمات البرمجية أعلاه، تحصل على فولوwing انتاج:

jsp: السمة

الإخراج:

هنا نحصل على الإخراج من علامة الجسم الخاصة بـ XML الذي تم إنشاؤه.

جسب:نص

  • يتم استخدامه لقالب النص في صفحات JSP.
  • لا يحتوي جسمه على أي عناصر أخرى، ويحتوي فقط على نصوص وتعبيرات EL.

بناء الجملة:

<jsp:text>template text</jsp:text>

يشير نص القالب هنا إلى نص القالب فقط (والذي يمكن أن يكون أي نص عام يحتاج إلى طباعته على jsp) أو أي نص آخر تعبير إل.

على سبيل المثال:

Action_jsp7.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Action JSP7</title>
</head>
<body>
<jsp:text>Guru Template Text</jsp:text>
</body>
</html>

شرح الكود:

سطر الكود 10: نحن هنا نأخذ كائنًا نصيًا لطباعة نص القالب

عند تنفيذ التعليمات البرمجية أعلاه، تحصل على فولوwing الناتج

جسب:نص

الإخراج:

نحن نحصل على نص قالب Guru، والذي يتم وضعه ضمن كائنات الإجراء النصية.

جسب: الإخراج

  • يحدد إعلان XML أو إعلان DOCTYPE الخاص بـ jsp
  • يتم الإعلان عن إعلان XML وDOCTYPE بواسطة الإخراج

بناء الجملة:

<jsp:output doctype-root-element="" doctype-system="">

هنا، يشير doctype-root-element إلى العنصر الجذر لمستند XML في DOCTYPE.

يشير نظام Doctype إلى نوع Doctype الذي يتم إنشاؤه في الإخراج ويعطي النظام حرفيًا

على سبيل المثال:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Action Guru JSP8</title>
</head>
<body>
<jsp:output doctype-root-element="html PUBLIC" doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>
</body>
</html>

شرح الكود:

سطر الكود 10: نحن هنا نستخدم كائن الإجراء الناتج لإنشاء DOCTYPE، وسيتم إنشاؤه داخليًا بهذا التنسيق:

لن يكون هناك أي مخرجات لهذا لأنه سيتم إنشاؤه داخليًا.