أمثلة معالجة نموذج MVC Spring يوضح المثال التالي كيفية كتابة تطبيق بسيط يعتمد على الويب يستخدم نماذج HTML باستخدام إطار عمل Web MVC الخاص بـ Spring.
بناء مشروع اختبار
(1) إنشاء مشروع ويب جديد Java وقدم العديد من الحزم JAR المطلوبة لمشاريع SPRINGMVC. هيكل المشروع وحزم الجرة المطلوبة على النحو التالي:
①web.xml:
<web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" XSI: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee <Srevlet-Class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <load-on-startup> 1 </load-on-startup> </radlet> <cervlet mapping> <servlet mapping> <servlet-name> springmvc </servlet-name> <Ivilter> <lipter-name> nareerencodingfilter </filter-name> <filter-class> org.springframework.web.filter.characterencodingfilter </filter-class> <inip-param> <param-name> الترميز </param-name> <baram-value> <filter-mapping> <filter-name> directionEncodingFilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </bil-app>
فيما يلي لاحقة اعتراض SPRINGMVC تنتهي بـ .html ومعالجتها
②springmvc-servlet.xml:
<؟ 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-4.0.xsd http://www.springframeworg http://www.springframework.org/schema/context/spring-context-4.0.xsd <السياق: مكون-المسح القاعدة package = "cn.zifangsky. * *. </bean> </bans>
في ملف التكوين أعلاه ، <سياق: التعليق التوضيحي /> ينشط بعض التعليقات التوضيحية المحددة في الفول ، في حين أن <mvc: يحركه التعليقات التوضيحية /> ينشط بعض التكوينات الافتراضية لـ springMVC. في نهاية ملف التكوين ، يتم تعريف المراسلات بين العرض المنطقي والعرض الفعلي. في كلمة واحدة ، يتم إعطاء بادئة المسار واللاحقة المحددة أعلاه للعرض المنطقي الذي تم إرجاعه. هذا هو المسار الحقيقي للعرض الفعلي.
2. استخدم springMVC لمعالجة النماذج
(1) قبل البدء رسميًا ، قم بإنشاء نموذج من طراز وتعداد:
① مستخدم الكيان:
package cn.zifangsky.model ؛ استيراد java.time.localdate ؛ استيراد org.springframework.format.annotation.datetimeformat ؛ مستخدم الفئة العامة {اسم السلسلة الخاصة ؛ كلمة مرور السلسلة الخاصة ؛ وظيفة السلسلة الخاصة ؛ dateTimeFormat (pattern = "yyyy-mm-dd") private localdate birthdate ؛ الجنس بين الجنسين ؛ سلسلة سلسلة خاصة ؛ التدخين المنطقي الخاص. السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } السلسلة العامة getPassword () {return password ؛ } public void setPassword (سلسلة كلمة مرور) {this.password = password ؛ } السلسلة العامة getJob () {return Job ؛ } public void setjob (سلسلة المهمة) {this.job = Job ؛ } public localdate getBirthDate () {return birthdate ؛ } public void setbirthdate (localDate birthdate) {this.birthdate = birthdate ؛ } الجنس العام getGender () {return الجنس ؛ } public void setgender (الجنس بين الجنسين) {this.gender = الجنس ؛ } السلسلة العامة getCountry () {return Country ؛ } public void setCountry (String Country) {this.country = country ؛ ) } مجموعات الفراغ العامة (تدخين منطقي) {this.smoking = Smoking ؛ }} ② التعداد بين الجنسين الذي يمثل "الجنس":
حزمة cn.zifangsky.model ؛ جنس التعداد العام {ذكر ، أنثى ؛} سيشرح ما يلي بإيجاز معالجة النماذج لـ springMVC وفقًا لعملية تنفيذ البرنامج ، أي ملء النموذج الأمامي> معالجة وحدة التحكم> معالجة صفحة عرض النتائج
(2) صفحة الشكل الرئيسية وشكل النموذج لمشروع الاختبار:
①Home صفحة index.jsp:
<٪ response.sendRedirect ("form.html") ؛ ٪>يمكن ملاحظة أن صفحتنا الرئيسية هنا بسيطة للغاية ، والتي تهدف إلى إعادة توجيه "form.html" ، ولكن من خلال تكويننا السابق في web.xml ، سوف ينقل springmvc هذا الطلب إلى وحدة تحكم محددة للمعالجة ، بالطبع ، إنه مباشرة إلى صفحة النموذج. ستتم مناقشة منطق المعالجة المحدد في وحدة التحكم أدناه
page نموذج صفحة userform.jsp:
<٪@ page language = "java" contentType = "text/html ؛ charset = utf-8" pageencoding = "utf-8" ٪> <٪@ taglib uri = "http://www.springframework.org/tags/form" previx = "mvc" ٪> http-equiv = "content-type" content = "text/html ؛ charset = utf-8"> <title> spring mvc formling معالجة </title> </head> <body> <h2> تسجيل المستخدم </h2> <mvc: form modelattribute = "user" action = "result.html path = "name"> الاسم: </mvc: label> </td> <td> <mvc: input path = "name"/> </td> </td> <td> <td> <mvc: label path = "job"> العمل: </mvc: label> </td> <td> <mvc: textarea path = "Job"/> </td> </td> <td> <td> <mvc: label path = "pultdate" ) path = "country"> الإقامة: </mvc: label> </td> <td> <mvc: SELECT PATH = "Country" heads = "$ {Countre}"/> </td> </tr> <td> <td> <mvc: smoking path = "smoking"> هل تدخن؟ ] نظرًا لأننا وضعنا هذه الصفحة في دليل الويب ، لا يمكننا الوصول إلى هذا الملف مباشرة من خلال عنوان URL. يجب نقل "form.html" المحددة أعلاه إلى وحدة التحكم للمعالجة وعرض صفحة العرض هذه. والغرض من ذلك هو منع الوصول إلى بعض الصفحات الخاصة من قبل الآخرين دون إذن. في الملف أعلاه ، من المهم ملاحظة:
(3) وحدة التحكم USERCONTROLLER.JAVA لمعالجة منطق الأعمال:
حزمة cn.zifangsky.controller ؛ استيراد org.springframework.stereotype.controller ؛ استيراد org.springframework.web.bind.annotation.modelattribute ؛ استيراد org.springframework.web.bind.annotation.requestmapping cn.zifangsky.model.gender ؛ استيراد cn.zifangsky.model.user ؛ controllerpublic class usercontroller {private static final strep [] البلدان = {"الصين" ، "اليابان" ، "كوريا الشمالية" ، "الولايات المتحدة"} ؛ requestMapping (value = "/form.html") userandview user () {modelandview modelandview = new ModelandView ("userform") ؛ ModelAndView.AddObject ("user" ، user ()) ؛ modelandview.addobject ("Genders" ، Gender.values ()) ؛ ModelandView.AddObject ("البلدان" ، البلدان) ؛ إرجاع ModelandView ؛ } @requestmapping (value = "/result.html") publicandview processUser (modelattribute (value = "user") us) modelandview.addobject ("u" ، u) ؛ إرجاع ModelandView ؛ }} يمكن ملاحظة أنه يتم تعريف طريقتين أعلاه ، وأن وظائفها ستنقل إلى النموذج الحقيقي لطلب "form.html" والتعامل مع النموذج. عند معالجة النموذج ، تلقيت نوعًا من المستخدم "U" من خلال شرح modelattribute ، وهو النموذج المملوء أولاً ، والما يلي هو عرض النموذج ، لذلك لن أقول الكثير
(4) الاختبار:
① في النموذج:
تظهر النتائج:
userresult.jsp صفحة:
<٪@ page language = "java" contentType = "text/html ؛ charset = utf-8" pageencoding = "utf-8" ٪> <٪@ taglib uri = "http://www.springframework.org/tags/form" previx = "mvc html 4.01 Transitional // en "" http://www.w3 <H2> سجل النتائج </h2> <tably> <ttr> <td> الاسم: </td> <td> $ {U.Name} </td> </td> </tr> <tr> <td> عيد ميلاد: </td> <td> $ {u.birthdate} </td> </tr> <td> الجنس: </td> <td> $ {U.Gender} </td> </tr> <td> <td> التدخين: </td> <td> $ {U.Smoking} </td> </tr> </tr> </lood> </body> </html>ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.