1. แต่ละวิธีดำเนินการส่งคืนค่าประเภทสตริง ค่าที่ส่งคืนโดย Struts ในคำขอถูกกำหนดโดยค่านี้
2. ในไฟล์การกำหนดค่า การกำหนดค่าของแต่ละองค์ประกอบการดำเนินการจะต้องมีองค์ประกอบผลลัพธ์ และแต่ละผลลัพธ์สอดคล้องกับค่าที่ส่งคืนของการดำเนินการ
3. ผลลัพธ์มีคุณลักษณะสองประการ:
ชื่อ: ชื่อของผลลัพธ์ซึ่งเหมือนกับค่าที่ส่งคืนในการดำเนินการ ค่าเริ่มต้นคือความสำเร็จ
ประเภท: ประเภทผลลัพธ์การตอบกลับ ค่าเริ่มต้นคือผู้ส่ง
ค้นหาไฟล์ struts-default.xml ด้านล่างดังที่แสดงด้านล่าง:
แสดงให้เห็น:
1.จากที่กล่าวมาข้างต้นจะเห็นได้ว่ามีทั้งหมด 10 ประเภท
2. ประเภทเริ่มต้นคือ ServletDispatcherResult ซึ่งกำลังส่งต่อ
3. ประเภทผลลัพธ์อาจเป็นประเภทใดก็ได้จาก 10 ประเภทผลลัพธ์เหล่านี้
ประเภทผู้มอบหมายงาน (1) คำอธิบายประเภท Dispatcher เป็นประเภทผลลัพธ์ที่ใช้บ่อยที่สุด และยังเป็นประเภทผลลัพธ์ดีฟอลต์ของเฟรมเวิร์ก struts ด้วย
(2) ตัวอย่างการอ้างอิงเพจ:/manager/index.jsp
การอ้างอิงการดำเนินการ: AdminAction
ไฟล์คอนฟิกูเรชัน: struts.xml
ในไฟล์คอนฟิกูเรชัน มีสองวิธีในการเขียน:
รูปต่อไปนี้แสดงที่มาของที่ตั้ง:
ดูซอร์สโค้ด:
การเปลี่ยนเส้นทางคือการเปลี่ยนเส้นทาง หากใช้ประเภทการเปลี่ยนเส้นทาง ค่าในขอบเขต reuqest จะไม่สามารถส่งผ่านไปยังแผนกต้อนรับ
ประเภทการเปลี่ยนเส้นทางการดำเนินการ (1) คำอธิบาย1. เปลี่ยนเส้นทางประเภทผลลัพธ์เป็นการดำเนินการ
2. สามารถยอมรับพารามิเตอร์สองตัวได้
ก)ชื่อการกระทำ: ชื่อของการกระทำ
b) เนมสเปซ: เนมสเปซ
วิธีแรก:
<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>
วิธีที่สอง:
<ชื่อผลลัพธ์ = "ความสำเร็จ" ประเภท = "redirectAction">
-
ชื่อการกระทำ:
เส้นทางของการดำเนินการที่ร้องขอ
เนมสเปซ:
หากไม่ได้เขียนไว้ ค่าเริ่มต้นคือเส้นทางของการดำเนินการที่ร้องขอ หากเขียนไว้ เส้นทางจะถูกกำหนดใหม่
-
<ชื่อพารามิเตอร์ = "actionName">
ประเภทผลลัพธ์/redirectactionAction.action
</พารามิเตอร์>
</ผล>
วิธีแรก:
<result name="success" type="redirectAction">resulttype/redirectactionAction.action</result>
วิธีที่สอง:
<ชื่อผลลัพธ์ = "ความสำเร็จ"type = "redirectAction">
-
ชื่อการกระทำ:
เส้นทางของการดำเนินการที่ร้องขอ
เนมสเปซ:
หากไม่ได้เขียนไว้ ค่าเริ่มต้นคือเส้นทางของการดำเนินการที่ร้องขอ หากเขียนไว้ เส้นทางจะถูกกำหนดใหม่
-
<paramname="actionName">
ประเภทผลลัพธ์/redirectactionAction.action
</พารามิเตอร์>
</ผล>
<ชื่อแพ็คเกจ=”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
ต้นแบบต้นแบบจะสร้างออบเจ็กต์ Action ใหม่สำหรับแต่ละคำขอ
เซิร์ฟเล็ต
เมื่อมีการร้องขอต้นแบบ Singleton เป็นครั้งแรก คุณสามารถสร้างอ็อบเจ็กต์เซิร์ฟเล็ตและใช้อ็อบเจ็กต์ทุกครั้งได้
วงจรชีวิตของเซิร์ฟเล็ต
สร้าง --- เริ่มต้น --- บริการ --- ทำลาย