1. التحقق من صحة () في العمل
يوفر Struts2 واجهة صالحة ، والتي تحتوي فقط على طريقة التحقق () في هذه الواجهة. يمكن استدعاء الفئة التي تنفذ هذه الواجهة مباشرة بواسطة Struts2. تقوم فئة Actionupport بتنفيذ واجهة Vadidatable ، ولكن طريقة التحقق من صحة () هي طريقة فارغة ، نحتاج إلى إعادة كتابة.
سيتم تنفيذ طريقة التحقق () قبل تنفيذ طريقة التنفيذ (). سيتم تنفيذ طريقة التنفيذ () فقط إذا كان التحقق من البيانات صحيحًا. إذا تم إجراء خطأ ، فسيتم إضافة الخطأ إلى حقل FielderRors. إذا كانت هناك طرق معالجة منطقية متعددة في الإجراء المحدد ، وتتطلب منطق المعالجة المختلفة قواعد التحقق المختلفة ، في هذه الحالة ، سيستخدم التحقق من صحة () نفس قواعد التحقق لجميع منطق المعالجة. من أجل تنفيذ منطق التحقق المختلفة ، من الضروري تمرير طريقة Validatex () ، حيث يمثل x اسم طريقة منطق المعالجة.
فئة العمل:
يمتد تسجيل الدخول إلى الفئة العامة الإجراءات actureSupport {private static static final long serialversionuid = 1l ؛ user string الخاص VEVIVER () {system.out.println ("Validata") ؛} void public validateLogin () {system.out.println ("validatelogin") ؛ if (! (username.equals ("sbw") && userpassword.equals ("123")) {return username ؛} public void setusername (string username) {this.userName = username ؛} السلسلة العامة getUserPassword () {return userpassword ؛} public void setUserPassword (String userPassword) {this.userPassword ؛Struts.xml
<package name = "main" تمديد = "struts-default"> <global-results> <result name = "login">/login.jsp </redress> </lobly-results> <action name = "logInperson"
النجاح
<body> تسجيل الدخول بنجاح <s: property value = "account"/> </body>
ValyAtelogin.jsp
<body> <s: fielderror/> </body>
نتائج التشغيل (الاختبار الأول صحيح ، الاختبار الثاني خاطئ)
2. تمرير إطار التحقق من Xwork
عند استخدام طريقة التحقق من الصحة للتحقق ، إذا كان هناك عدد كبير من الإجراءات في تطبيق الويب ، فيجب إعادة كتابة طريقة التحقق من صحة عدة مرات. لذلك ، يمكنك استخدام إطار Valitator الخاص بـ Xwork للتحقق من بيانات Struts2 لتقليل مقدار الكود.
قم بإنشاء التحقق من ملف تسجيل الدخول إلى ملف تسجيل الدخول. ملاحظة: عندما يكون هناك العديد من أساليب معالجة الأعمال في إجراء ما ، فإن قاعدة التسمية هي: ActionName-methodname-validation.xml ، حيث يكون اسم ActionName هو اسم فئة الإجراء ، اسم MethodName هو اسم طريقة طريقة معالجة الأعمال في الإجراء ، وترتيب البحث للملف هو نفسه Validate () و ValuatedX ().
Login-veaction.xml
<؟ type = "requiredString"> <message> يجب ألا يوضح الاسم </message> </field-validator> </field> <field name = "userpassword"> <field-validator type = "quiregenceString">
ركض مرة أخرى على النحو التالي:
طريقة التحقق من الحقل أعلاه هي طريقة التحقق من الحقل ، وطريقة أخرى هي طريقة التحقق من غير المجال ، على النحو التالي:
login-veaction.xml:
<Eveldators> <validator type = "requiredString"> <param name = "fieldName"> اسم المستخدم </param> <mession> لا ينبغي أن لا فارغ </message> </evalitator> <validator type = "quiregenceString"> <param name = "fieldName"
والنتيجة هي نفس طريقة التحقق من الحقل
المرفق: التحقق الشائع للدعامات 2: