วันนี้เพื่อนคนหนึ่งถามฉันว่าการกระทำใน struts2 ต้องใช้วิธีการดำเนินการหรือไม่? คำตอบนั้นราบรื่น
มีสองสถานการณ์จริง ๆ :
1) หากคลาสแอ็คชั่นของคุณสืบทอดมาจาก Actionsupport หรือ baseaction เพื่อให้แม่นยำมันได้เขียนวิธีการดำเนินการใหม่ การใช้งานเริ่มต้นใน ActionSupport คือการส่งคืนมุมมอง "ความสำเร็จ" ดังนั้นคุณไม่สามารถใช้วิธีการดำเนินการได้ตราบใดที่ struts.xml ของคุณมีผลลัพธ์ที่สอดคล้องกับ "ความสำเร็จ"
<action name = "doreVenuesMaintenance"> <interceptor-ref name = "novatar-webstack-baseparam"> <param name = "Security.actionType"> ส่วนตัว </param>
ในรหัสนี้หน้า JUMP จะถูกควบคุมผ่านไฟล์การกำหนดค่าการกระทำ ไม่มีวิธีการดำเนินการ () แทนที่ในคลาสแอ็คชั่น
2) หากคลาสแอ็คชั่นของคุณไม่ได้สืบทอดการกระทำหรือ baseaction และคุณไม่ได้ระบุวิธีการของคุณเองในแท็ก <action> ที่สอดคล้องกันใน struts.xml คุณต้องค้นหาวิธีการดำเนินการตามค่าเริ่มต้น ในเวลานี้คุณต้องใช้วิธีการดำเนินการมิฉะนั้น struts2 จะไม่พบวิธีที่เกี่ยวข้องและรายงานข้อผิดพลาด
อย่างไรก็ตามในกรณีส่วนใหญ่ ActionsUpport ได้รับการสืบทอด (ตัวอย่างเช่นการตรวจสอบอินพุตการอัปโหลดไฟล์และฟังก์ชั่นอื่น ๆ ต้องได้รับมรดก) นอกจากนี้ไม่ว่าคุณจะเขียนวิธีการดำเนินการหรือไม่คุณยังสามารถใช้แอตทริบิวต์วิธีการของแท็ก <action> เพื่อระบุวิธีอื่น ๆ
ข้างต้นเป็นการแนะนำที่เกี่ยวข้องกับวิธีการดำเนินการจะต้องดำเนินการในการดำเนินการ struts2 ที่แนะนำให้คุณรู้จักหรือไม่ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ!