English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يساعد مربعات الاختيار في نموذج Spring MVC في اختيار عدة خيارات في نفس الوقت. تُستخدم هذه العلامة لعرض علامة إدخال HTML من نوع checkbox.
<form:checkbox path="abc" value="element"/>
بالإضافة إلى علامة مربعات الاختيار، تحتوي مكتبة علامات نموذج Spring MVC أيضًا على مربعات الاختيارالعلامة. تُستخدم هذه العلامة لعرض عدة علامات إدخال HTML تحتوي على مربعات الاختيار. تستخدم هذه العلامة فقط عندما لا تريد عرض جميع العناصر في صفحة العرض. في هذه الحالة، يمكنك تقديم العناصر وتقديمها إلى العلامة. بسبب أن المستخدم يمكن أن يختار عدة خيارات، يجب تقديم Array، List أو Map كنوع العناصر.
<form:checkboxes path="abc" items="${object.elementList}"/>
<!-- 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> <!-- https://mvnrepository.com/artifact/javax.servlet/jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jasper --> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jasper</artifactId> <version>9.0.12</version> </dependency>
Reservation.java
package com.w3codebox; public class Reservation { private String firstName; private String lastName; private String Gender; private String[] Food; public Reservation() { } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getGender() { return Gender; } public void setGender(String gender) { Gender = gender; } public String[] getFood() { return Food; } public void setFood(String[] food) { Food = food; } }
ReservationController.java
package com.w3codebox; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; @RequestMapping("/reservation") @Controller public class ReservationController { @RequestMapping("/bookingForm") public String bookingForm(Model model) { //إنشاء جسم حجز جديد Reservation res = new Reservation(); //تقدم جسم الحجز إلى النموذج model.addAttribute("reservation", res); return "reservation-page"; } @RequestMapping("/submitForm") public String submitForm(@ModelAttribute("reservation") Reservation res) { return "confirmation-form"; } }
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/> <!-- تعريف معالج الرؤية الخاصة بـ Spring MVC --> <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>
index.jsp
<!DOCTYPE html> <html> <head> <title>نموذج تسجيل السكك الحديدية</title> </head> <body> <a href="reservation/bookingForm">انقر هنا للحجز.</a> </body> </html>
reservation-page.jsp
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <!DOCTYPE html> <html> <head> <title>نموذج الحجز</title> </head> <h3>نموذج حجز السكك الحديدية</h3> <body> <form:form action="submitForm" modelAttribute="reservation"> الاسم الأول: <form:input path="firstName" /> <br><br> اسم العائلة: <form:input path="lastName" /> <br><br> الجنس: الجنس<form:radiobutton path="Gender" value="Male"/> الجنسية<form:radiobutton path="Gender" value="Female"/> <br><br> وجبات: الإفطار<form:checkbox path="Food" value="BreakFast"/> الغداء<form:checkbox path="Food" value="Lunch"/> عشاء<form:checkbox path="Food" value="Dinner"/> <br><br> <input type="submit" value="Submit" /> </form:form> </body> </html>
confirmation-page.jsp
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html> <html> <body> <p>تم تأكيد حجزك بنجاح. يرجى التحقق من التفاصيل.</p> الاسم الأول: ${reservation.firstName} <br> اسم العائلة: ${reservation.lastName} <br> الجنس: ${reservation.gender}<br> وجبات: <ul> <c:forEach var="meal" items="${reservation.food}"> <li>${meal}</li> </c:forEach> </ul> </body> </html>
الناتج: