1. تقوم كل طريقة عمل بإرجاع قيمة نوع السلسلة. يتم تحديد القيمة التي يتم إرجاعها بواسطة Struts في الطلب بواسطة هذه القيمة.
2. في ملف التكوين، يجب أن يحتوي تكوين كل عنصر إجراء على عنصر نتيجة، وتتوافق كل نتيجة مع القيمة المرجعة للإجراء.
3. النتيجة لها خاصيتين:
الاسم: اسم النتيجة، وهو نفس القيمة المرجعة في الإجراء، والقيمة الافتراضية هي النجاح.
النوع: نوع نتيجة الاستجابة، القيمة الافتراضية هي المرسل.
تجد أدناه ملف struts-default.xml كما هو موضح أدناه:
يوضح:
1. مما سبق يتبين أن هناك 10 أنواع
2. النوع الافتراضي هو ServletDispatcherResult، وهو إعادة التوجيه.
3. يمكن أن يكون نوع النتيجة أيًا من أنواع النتائج العشرة هذه.
نوع المرسل (1)، الوصفنوع المرسل هو نوع النتيجة الأكثر استخدامًا وهو أيضًا نوع النتيجة الافتراضية لإطار عمل الدعامات.
(٢)، مثالمرجع الصفحة:/manager/index.jsp
مرجع الإجراء: AdminAction
ملف التكوين: struts.xml
في ملف التكوين، هناك طريقتان للكتابة:
ويوضح الشكل التالي أصل الموقع:
عرض كود المصدر:
إعادة التوجيه هي إعادة توجيه. إذا تم استخدام نوع إعادة التوجيه، فلا يمكن تمرير القيمة الموجودة في نطاق reuqest إلى مكتب الاستقبال.
نوع إجراء إعادة التوجيه (1)، الوصف1. أعد توجيه نوع النتيجة إلى الإجراء
2. يمكن قبول معلمتين
أ) اسم الإجراء: اسم الإجراء
ب) مساحة الاسم: مساحة الاسم
الطريقة الأولى:
<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>
الطريقة الثانية:
<اسم النتيجة = "النجاح" نوع = "redirectAction">
<!--
اسم الإجراء:
مسار الإجراء المطلوب
مساحة الاسم:
إذا لم يكن مكتوبًا، فإن المسار الافتراضي هو مسار الإجراء المطلوب. وإذا كان مكتوبًا، فسيتم إعادة تعيين المسار.
-->
<param name="actionName">
resulttype/redirectactionAction.action
</param>
</النتيجة>
الطريقة الأولى:
<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>
الطريقة الثانية:
<اسم النتيجة = "النجاح" نوع = "redirectAction">
<!--
اسم الإجراء:
مسار الإجراء المطلوب
مساحة الاسم:
إذا لم يكن مكتوبًا، فإن المسار الافتراضي هو مسار الإجراء المطلوب. وإذا كان مكتوبًا، فسيتم إعادة تعيين المسار.
-->
<paramname="actionName">
resulttype/redirectactionAction.action
</param>
</النتيجة>
<اسم الحزمة=”ss” مساحة الاسم=”/csdn/csdn”>
<الإجراء = "حذف">
</حزمة>
<اسم الحزمة=”اختبار” مساحة الاسم=”/csdn”>
<الإجراء = "حذف">
</حزمة>
<اسم الحزمة=”sss” مساحة الاسم=””>
<الإجراء = "حذف">
</حزمة>
ترتيب البحث عن أسماء الإجراءات
1. احصل على URI لمسار الطلب، على سبيل المثال، عنوان URL هو: http://server/struts2/path1/path2/path3/test.action.
2. أولاً، ابحث عن الحزمة التي مساحة اسمها /path1/path2/path3. إذا كانت هذه الحزمة موجودة، فابحث عن الإجراء المسمى test في هذه الحزمة. إذا لم تكن هذه الحزمة موجودة، فانتقل إلى الخطوة 3؛
3. ابحث عن الحزمة التي مساحة الاسم لها هي /path1/path2. إذا كانت هذه الحزمة موجودة، فابحث عن الإجراء المسمى test في هذه الحزمة. إذا لم تكن هذه الحزمة موجودة، فانتقل إلى الخطوة 4؛
4. ابحث عن الحزمة ذات مساحة الاسم /path1. إذا كانت هذه الحزمة موجودة، فابحث عن الإجراء المسمى test في هذه الحزمة إذا كانت هذه الحزمة لا تزال غير موجودة، فانتقل إلى حزمة namaspace الافتراضية للعثور على الإجراء المسمى test (مساحة الاسم الافتراضية هي سلسلة فارغة ""). إذا لم يتم العثور عليها بعد، فستطالبك الصفحة بأنه لا يمكن العثور على الإجراء.
دعامات نموذج العمل2
يقوم النموذج الأولي بإنشاء كائن إجراء جديد لكل طلب.
بريمج
عند طلب النموذج الأولي Singleton لأول مرة، يمكنك إنشاء كائن servlet واستخدام الكائن في كل مرة.
دورة حياة السيرفلت
إنشاء --- الحرف الأول --- الخدمة --- تدمير