1. มีวิธีการตรวจสอบความถูกต้อง () ใน ActionSupport วิธีนี้เป็นวิธีการตรวจสอบ มันจะถูกดำเนินการก่อนที่วิธีการดำเนินการ () จะถูกดำเนินการดังนั้นจึงสามารถมีบทบาทที่ดีในการตรวจสอบ
@Override // เขียนวิธีการตรวจสอบ () ในการดำเนินการเป็นโมฆะสาธารณะ validate () {ถ้า (null == this.username || this.username.length () <4 || this.username.length ()> 6) {this.addactionError ( . หากการตรวจสอบล้มเหลวเราสามารถเรียก addactionError ("ข้อความแสดงข้อผิดพลาด"); ด้วยวิธีนี้ข้อความแสดงข้อผิดพลาดจะถูกบันทึก
หลังจากดำเนินการวิธีการตรวจสอบทั้งหมดระบบจะตรวจสอบหน้า JSP โดยอัตโนมัติที่สอดคล้องกับ NAME = "INPUT" โดยอัตโนมัติ โดยทั่วไปขอแนะนำให้ข้ามไปยังหน้าเว็บที่เราลงทะเบียนนั่นคือที่เรามาจากไหนและไปที่ไหน
/registerresult.jsp/register.jsp
ข. จากนั้นเราคือ register.jsp
นั่นคือเพิ่มแท็ก Struts2 นี้ลงในหน้าลงทะเบียนเริ่มต้น
<S: ActionError CSSSTYLE = "COLOR: RED"/>>
ความหมายคือ: หากมีข้อความแสดงข้อผิดพลาดนั่นคือ ActionError มีอยู่แล้วให้ส่งข้อความแสดงข้อผิดพลาดนี้
ยิ่งกว่านั้นเราสามารถตั้งค่าแท็กเป็น CSS ได้
// โปรดทราบว่าการใช้แท็ก struts2 ต้องแนะนำแท็กในไฟล์ส่วนหัว: < %@ taglib prefix = "s" uri = "/struts-tags" %>
ค.
วิธีเปรียบเทียบวันที่:
brithday และบัณฑิตเป็นประเภทวันที่
ถ้า (null! = วันเกิด && null! = สำเร็จการศึกษา) {ปฏิทิน c1 = ปฏิทิน. getInstance (); c1.settime (วันเกิด); ปฏิทิน c2 = ปฏิทิน getInstance (); c2.settime (สำเร็จการศึกษา);2. ระดับการกระทำและระดับฟิลด์ ด้วยวิธีนี้เราสามารถเพิ่มไปยังระดับที่แตกต่างกันเมื่อเพิ่มข้อผิดพลาดและเราสามารถยืดหยุ่นได้มากขึ้นเมื่อแจ้งข้อความแสดงข้อผิดพลาดโดยไม่ต้องเพิ่มข้อมูลทั้งหมดลงในระดับการกระทำข้อมูลทั้งหมดจะแสดงเหมือนกัน ตัวอย่างเช่น: เราจำเป็นต้องใช้ฟอนต์สีแดงเพื่อแสดงข้อความแสดงข้อผิดพลาดของข้อผิดพลาดรหัสผ่านซ้ำในขณะที่ข้อมูลอื่น ๆ เช่นชื่อผู้ใช้อายุ ฯลฯ จะแสดงในแบบอักษรสีเขียว ในเวลานี้คุณสามารถเพิ่มลงในระดับที่แตกต่างกันโดยใช้มัน
ในหน้าลงทะเบียนเพียงเขียนแท็กระดับฟิลด์ ดังนี้:
<S: ActionError CSSSTYLE = "COLOR: RED" // ACTION LEVEL <S: FielderRor CSSSTYLE = "COLOR: Blue"> </s: Fielderror> // ระดับฟิลด์โมฆะ Public Void () {ถ้า (null == this.username || this.username.length () <4 || this.username.length ()> 6) {this.addactionError ("ชื่อผู้ใช้บุกรุก"); // เพิ่มข้อความแสดงข้อผิดพลาด3. หลังจากส่งข้อผิดพลาดข้อมูลต้นฉบับจะแสดงในแบบฟอร์ม
<s: form action = "registeraction"> <s: textfield name = "username" label = "username"> </s: textfield> <s: name name = "รหัสผ่าน" label = "รหัสผ่าน"> </s: รหัสผ่าน> <s: name = "repassword" label = "repassword" label = "brithday"> </s: textfield> <s: textfield name = "บัณฑิต" label = "บัณฑิต"> </s: textfield> <s: submit value = "ส่ง"> </s: ส่ง> </s: แบบฟอร์ม>
การใช้แท็ก struts2 สามารถพิมพ์โดยอัตโนมัติจากนั้นแสดงข้อมูลระดับฟิลด์ผิดตามที่แสดงด้านล่าง
4. อย่างไรก็ตามแม้ว่าวิธีการของการใช้ตารางโดยอัตโนมัติเพื่อพิมพ์จะสะดวก แต่ก็ไม่ตรงกับความต้องการของเราในหลาย ๆ กรณีดังนั้นเราจึงสามารถใช้การเรียงพิมพ์ที่กำหนดเอง
วิธีที่ 2: กำหนดวิธีการเลย์เอาต์ให้ง่ายเพื่อให้เราสามารถพิมพ์ตัวเองในวิธี HTML
ข้อผิดพลาดระดับฟิลด์จะไม่ปรากฏขึ้นโดยอัตโนมัติ
<s: form action = "registeraction" ธีม = "simple"> <br/> ชื่อผู้ใช้: <s: textfield name = "ชื่อผู้ใช้" label = "ชื่อผู้ใช้"> </s: textfield> <br/> รหัสผ่าน: <s: name name = "password" label = "รหัสผ่าน"> label = "repassword"> </s: รหัสผ่าน> <br/> อายุ: <s: textfield name = "อายุ" label = "อายุ"> </s: textfield> <br/> วันเกิด: <s: textfield name = "วันเกิด" label = "brithday"> </s: textfield> <br/> บัณฑิต: value = "ส่ง"> </s: ส่ง> </s: แบบฟอร์ม>
5. เพื่อการรักษาความปลอดภัย struts จะถูกส่งในโพสต์เมื่อไม่มีการกำหนดวิธีการซึ่งปลอดภัยกว่า
6. หากค่าอินพุตไม่สอดคล้องกับวิธีการเช่นอายุเป็นประเภท int และอินพุตเป็นประเภทสตริงระบบจะตัดสินและเพิ่มค่าฟิลด์ที่ไม่ถูกต้องสำหรับฟิลด์ "อายุ" ในระดับฟิลด์ ข้อมูลมีดังนี้:
กระบวนการดำเนินการ:
1) การแปลงประเภทการดำเนินการครั้งแรก
2) จากนั้นทำการตรวจสอบความถูกต้องของอินพุต (ดำเนินการวิธีการตรวจสอบ)
3) หากเกิดข้อผิดพลาดใด ๆ ในกระบวนการข้างต้นวิธีการดำเนินการจะไม่ถูกดำเนินการอีกครั้ง หน้าจะเปลี่ยนเป็นหน้าใน struts.xml ซึ่งชื่อเป็นผลลัพธ์ที่สอดคล้องกับอินพุต
8. การใช้วิธี AddactionError () ของคลาส ActionsUpport: ก่อนอื่นสร้างวัตถุ ArrayList จากนั้นเพิ่มข้อความแสดงข้อผิดพลาดไปยังวัตถุ ArrayList
9. เมื่อวิธีการ getActionERRORS () ถูกเรียกให้ส่งคืนรายการข้อความแสดงข้อผิดพลาดระดับการกระทำที่ส่งคืนเป็นสำเนาของคอลเลกชันมากกว่าคอลเลกชันเอง ดังนั้นองค์ประกอบในสำเนายังคงถูกล้างโดยเรียกวิธี Clear () ในการคัดลอกคอลเลกชันแทนที่จะเป็นองค์ประกอบในคอลเลกชันดั้งเดิม ในเวลานี้เนื้อหาในคอลเลกชันดั้งเดิมไม่ได้รับผลกระทบใด ๆ กล่าวอีกนัยหนึ่งรายการข้อความแสดงข้อผิดพลาดระดับการกระทำสามารถอ่านได้สำหรับนักพัฒนา แต่ไม่สามารถเขียนได้
หากคุณต้องการลบข้อความแสดงข้อผิดพลาดหลังจากตรวจสอบแล้วและปล่อยให้มันดำเนินการวิธีการดำเนินการแม้ว่าจะมีข้อความแสดงข้อผิดพลาดคุณสามารถเรียกสิ่งนี้ clearallActionErrors () หรือสิ่งนี้ clearallFielderRors () เมธอด
10. ข้อความแสดงข้อผิดพลาดพื้นฐานที่ระดับ Fielderror ถูกนำมาใช้ผ่าน LinkedHashMap คีย์ของแผนที่คือประเภทสตริงและค่าคือรายการ <string> ประเภท ซึ่งหมายความว่าชื่อฟิลด์สามารถสอดคล้องกับข้อความแสดงข้อผิดพลาดหลายข้อความและข้อความแสดงข้อผิดพลาดเหล่านี้จะถูกวางไว้ในรายการ <string> คอลเลกชัน ดังนั้นจึงมีข้อความแสดงข้อผิดพลาดหลายข้อความเพื่อให้ได้ข้อผิดพลาดเดียวกัน
ด้านบนเป็นคำอธิบายโดยละเอียดของวิธีการตรวจสอบที่ใช้ในการตรวจสอบการตรวจสอบ () ใน struts ที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!