في Spring MVC، @RequestParam يتم استخدام التعليق التوضيحي لقراءة بيانات النموذج وربطها تلقائيًا بالمعلمة الموجودة في الطريقة المتوفرة. ولذلك فهو يتجاهل متطلبات HttpServletRequest كائن لقراءة البيانات المقدمة.
بما في ذلك بيانات النموذج، فإنه يقوم أيضًا بتعيين معلمة الطلب لمعلمة الاستعلام والأجزاء في الطلبات متعددة الأجزاء. إذا كان نوع معلمة الطريقة هو خريطة وتم تحديد اسم معلمة الطلب، فسيتم تحويل قيمة معلمة الطلب إلى خريطة وإلا يتم ملء معلمة الخريطة بجميع أسماء وقيم معلمات الطلب.
مثال Spring MVC RequestParam
لنقم بإنشاء صفحة تسجيل دخول تحتوي على اسم المستخدم وكلمة المرور. هنا، نقوم بالتحقق من صحة كلمة المرور بقيمة محددة.
1. أضف التبعيات إلى pom.xml
org.springframework spring-webmvc 5.1.1.RELEASE javax.servlet servlet-api 3.0-alpha-1
2. قم بإنشاء صفحة الطلب
إنها صفحة تسجيل الدخول التي تتلقى الاسم وكلمة المرور من المستخدم.
Index.jsp
UserName : <br> <br> Password : <br> <br>
3. قم بإنشاء فئة وحدة التحكم
في فئة التحكم:
- يتم استخدامRequestParam لقراءة بيانات نموذج HTML المقدمة من قبل المستخدم وربطها بمعلمة الطلب.
- يحتوي النموذج على بيانات الطلب ويوفرها لعرض الصفحة.
HelloController.java
package com.javatpoint; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class HelloController { @RequestMapping('/hello') //read the provided form data public String display(@RequestParam('name') String name,@RequestParam('pass') String pass,Model m) { if(pass.equals('admin')) { String msg='Hello '+ name; //add a message to the model m.addAttribute('message', msg); return 'viewpage'; } else { String msg='Sorry '+ name+'. You entered an incorrect password'; m.addAttribute('message', msg); return 'errorpage'; } } }
4. قم بإنشاء مكونات العرض الأخرى
لتشغيل هذا المثال، يجب أن تكون مكونات العرض التالية موجودة داخل دليل WEB-INF/jsp.
viewpage.jsp
${message}
errorpage.jsp
${message} <br> <br>
انتاج:
قم بتنزيل هذا المثال (تم تطويره باستخدام Eclipse)