ในโครงการ SSH บางครั้งจำเป็นต้องข้ามจากการกระทำหนึ่งไปสู่การกระทำอื่น มีสองวิธีในการตระหนักถึงการกระโดดระหว่างการกระทำหนึ่งคือโซ่และอีกวิธีหนึ่งคือการเปลี่ยนเส้นทาง ความแตกต่างระหว่างสองวิธีนี้คือห่วงโซ่กำลังกระโดดบนเซิร์ฟเวอร์ซึ่งสามารถตระหนักถึงการแบ่งปันข้อมูลระหว่างการกระทำที่แตกต่างกัน ในขณะที่การเปลี่ยนเส้นทางกำลังกระโดดข้ามลูกค้า
การใช้โซ่เพื่อส่งค่าพารามิเตอร์ระหว่างการกระทำที่แตกต่างกันฟังก์ชั่นนี้สามารถนำไปใช้ผ่านตัวดักแด้นามแฝง
1. ระบุคลาสตัวกรอง
ตั้งค่า interceptor ต่อไปนี้ใน web.xml:
<silter> <filter-name> struts2 </filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter </filter--class> </filter> </ตัวกรองการทำแผนที่>
2. ค่าพารามิเตอร์ผ่าน
ในไฟล์ struts.xml ให้กำหนดการดำเนินการโทรครั้งแรก:
<action name = "xxx"> <result name = "ความสำเร็จ"> </result> <result name = "input" type = "chain"> <param name = "actionName"> input_error </param> </result> </action>
กำหนดการกระทำที่สองที่เรียกว่า:
<action name = "input_error"> <param name = "aliases">#{'error_status': 'สถานะ', 'error_desc': 'desc'} </param> </action> เมื่อการดำเนินการครั้งแรกส่งคืนอินพุตมันจะข้ามไปยังการกระทำที่สอง ในเวลานี้ค่า ERROR_STATUS และ ERROR_DESC ในการดำเนินการครั้งแรกจะถูกส่งผ่านไปยังสถานะและ DESC ของการกระทำที่สองตามลำดับดังนั้นจึงตระหนักถึงการผ่านของค่าพารามิเตอร์ เป็นสิ่งสำคัญที่จะต้องทราบว่าตัวแปรที่ค่าพารามิเตอร์ผ่านจะต้องมีวิธีการ getter () และ setter () มิฉะนั้นค่าที่ผ่านในอดีตเป็นโมฆะ
ข้างต้นคือการใช้นามแฝง interceptor ในการพัฒนา Javaweb ที่บรรณาธิการแนะนำให้คุณ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!