English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في Spring MVC، يعمل النموذج في وعاء يحتوي على بيانات التطبيق. هنا، يمكن أن تأخذ البيانات أي شكل، مثل الأجسام، الأنواع النصية، المعلومات في قاعدة البيانات، وما إلى ذلك.
يحتاج إلى تضمين Model وضع الواجهة في جزء التحكم في الحاسوب. التطبيق. HttpServletRequest سيقرأ المعلومات المقدمة من المستخدم ويقوم بتوصيلها إلى Model الواجهة. الآن، يمكن الوصول بسهولة إلى بيانات قطع النموذج من صفحة الرؤية.
طريقة | شرح |
Model addAllAttributes(Collection <?> arg) | سيضيف جميع الخصائص الموجودة في المجموعة المقدمة إلى هذا Map. |
Model addAllAttributes(Map <String,?> arg) | سيضيف جميع الخصائص الموجودة في Map المقدم إلى هذا Map. |
Model addAllAttribute(Object arg) | سيضيف الخاصية المقدمة باستخدام الاسم المولد إلى هذا Map. |
Model addAllAttribute(String arg0, Object arg1) | سيقوم بربط الخاصية بالاسم المقدم. |
Map<String, Object> asMap() | سيقوم بتحويل مجموعة الخصائص الحالية للنموذج إلى Map. |
Model mergeAttributes(Map<String,?> arg) | سيضيف جميع الخصائص الموجودة في Map المضافة إلى هذا Map، مع الإفضلية للعناصر الحالية بنفس الاسم. |
boolean containsAttribute(String arg) | يحدد هذا النموذج ما إذا كان يحتوي على الخاصية المحددة باسمها |
ننشئ صفحة تسجيل الدخول تحتوي على اسم المستخدم وكلمة المرور. هنا، نستخدم القيم المحددة للتحقق من كلمة المرور.
<!-- 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>
في هذا المكان، ننشئ صفحة تسجيل الدخول لاستقبال اسم المستخدم وكلمة المرور.
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>
في فئة التحكم:
HttpServletRequest للقراءة بيانات النموذج HTML التي يقدمها المستخدم. نموذجيتضمن بيانات الطلب وتقدمها للصفحة للعرض.
HelloController.java
package com.w3codebox; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloController { @RequestMapping("/hello") public String display(HttpServletRequest req, Model m) { //قراءة البيانات المقدمة من النموذج String name=req.getParameter("name"); String pass=req.getParameter("pass"); 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"; } } }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>SpringMVC</display-name> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
spring-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <-- توفير الدعم لدعم التحقق من المكونات --> <context:component-scan base-package="com.w3codebox" /> <!--توفير الدعم للتحويل، التنسيق والتحقق--> <mvc:annotation-driven/> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans>
لإطلاق هذا المثال، يجب أن تكون المكونات التالية من الرؤى موجودة في مجلد 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>
الإخراج: