English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

ملاحظة Spring MVC RequestParam

في Spring MVC، @RequestParam التعليقات المستخدمة لقراءة بيانات النموذج وتقديمها تلقائيًا إلى الطريقة التي توفر المعلمات. لذا، يُتجاهل HttpServletRequest المتطلبات التي يقدمها القراءة.

يشمل بيانات النموذج، وسيعكس أيضًا المعلمات المطلوبة إلى جزء من الطلب المتعدد. إذا كان نوع معلمات الطريقة Map وتم تحديد اسم المعلمات المطلوبة، فإنه يتم تحويل قيمة المعلمات المطلوبة إلى Map، وإلا يتم ملء معلمات الطلب بالأسماء والقيم.

مثال Spring MVC RequestParam

نحن ننشئ صفحة تسجيل الدخول تحتوي على اسم المستخدم وكلمة المرور. هنا، نستخدم القيم المحددة لتحقق من كلمة المرور.

1. إضافة الاعتماد إلى pom.xml

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.1.1.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>  
    <groupId>javax.servlet</groupId>  
    <artifactId>servlet-api</artifactId>  
    <version>3.0-alpha-1</version>  
</dependency>

2. إنشاء صفحة الطلب

هذه هي صفحة الدخول التي تأخذ الاسم وكلمة المرور من المستخدم.

index.jsp

<html>
<body>
<form action="hello">
اسم المستخدم: <input type="text" name="name"/> <br><br> 
كلمة المرور: <input type="text" name="pass"/> <br><br> 
<input type="submit" name="submit">
</form>
</body>
</html>

3. إنشاء فئة التحكم

في فئة التحكم:

@RequestParam يستخدم لقراءة بيانات النموذج HTML التي يقدمها المستخدم ويقوم بتحميلها كمعامل في الطلب. النموذج يحتوي على بيانات الطلب ويقدمها للصفحة المرئية.

HelloController.java

باقة com.w3codebox;
استيراد org.springframework.stereotype.Controller;
استيراد org.springframework.ui.Model;
استيراد org.springframework.web.bind.annotation.RequestMapping;
استيراد org.springframework.web.bind.annotation.RequestParam;
@Controller
public class HelloController {}}
    @RequestMapping("/hello")
    //قراءة بيانات النموذج المقدمة
    public String display(@RequestParam("name") String name, @RequestParam("pass") String pass, Model m)
    {
        if(pass.equals("admin"))
        {
            String msg="Hello " + name;
            //إضافة رسالة إلى النموذج
            m.addAttribute("message", msg);
            return "viewpage";
        }
        else
        {
            String msg="Sorry " + name + ". لقد أدخلت كلمة المرور غير صحيحة";
            m.addAttribute("message", msg);
            return "errorpage";
        }   
    }
}

4. إنشاء العناصر التوضيحية الأخرى

لإطلاق هذا المثال، يجب أن تكون العناصر التوضيحية التالية موجودة في مجلد WEB-INF/jsp.

viewpage.jsp

<html>
<body>
${message}
</body>
</html>

errorpage.jsp

<html>
<body>
${message}
<br><br>
<jsp:include page="/index.jsp"></jsp:include>
</body>
</html>
</html>

الخروج: