..
Εδώ είναι ένα παράδειγμα μιας εφαρμογής web, θα δούμε με μεγαλύτερη ακρίβεια τον τρόπο εφαρμογής ενός ελεγκτή και JSP που σας επιτρέπουν να προσθέσετε ένα βιβλίο σε μια συλλογή βιβλίων.
Πρώτα απ 'όλα, στο web.xml μας διαμορφώσετε το WebApplicationContext και τη χαρτογράφηση του DispatcherServlet:
<! - ΑΝΟΙΞΗ -> <context-param> <param-name> contextConfigLocation </ p-name> <param-value> classpath *: applicationContext.xml </ p-value> </ Context-p> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </ ακροατή-class> </ Ακροατή> <-! MVC -> <servlet> <servlet-name> άνοιξη-MVC </ servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </ servlet-class> <load-on-startup> 1 </ load-on-εκκίνηση> </ Servlet> <servlet-mapping> <servlet-name> άνοιξη-MVC </ servlet-name> <url-pattern> / δράση / * </ url-μοτίβο> </ Servlet-χαρτογράφηση>
Χωρίς αυτό δημιουργούμε κατηγορία βιβλίο μας:
δημόσιο βιβλίο κατηγορία {
@ Μέγεθος (min = 1, μήνυμα = "Το όνομα του πεδίου δεν μπορεί να είναι κενό")
@ Pattern (regex = "[A-Za-z0-9 _]+", μήνυμα =" Το όνομα του πεδίου μπορεί να περιέχει μόνο γράμματα ")
ιδιωτικού όνομα String?
@ NotNull
@ Μέγεθος (min = 1, μήνυμα = "Το πεδίο συγγραφέας δεν μπορεί να είναι κενό")
@ Pattern (regex = "[A-Za-z']+", μήνυμα =" Το πεδίο συγγραφέας μπορεί να περιέχει μόνο γράμματα ")
ιδιωτική συγγραφέας String?
DateTimeFormat @ (μοτίβο = "dd / mm / yyyy")
@ NotNull (μήνυμα = "Το πεδίο Ημερομηνία κυκλοφορίας δεν μπορεί να είναι κενό")
ιδιωτική Ημερομηνία dataDiUscita?
/ / Getters και setters .................
//..........
}
Όπως μπορείτε να δείτε το βιβλίο μας έχει τρία χαρακτηριστικά:
@ Ελεγκτή
{Δημόσια τάξη BookController
ιδιωτική Booklist <Book> Λίστα?
δημόσια BookController () {
Κατάλογος βιβλίων <Book> = νέα ArrayList ()?
}
/ / Εμφάνιση της σελίδας για να δημιουργήσετε
@ RequestMapping (value = "/ createBook" μέθοδος = RequestMethod.GET)
δημόσια String ευπρόσδεκτα (μοντέλο Model) {
model.addAttribute ("βιβλίο", το νέο βιβλίο ())?
επιστροφή "/ βιβλίο / createBook"?
}
/ / Ελέγξτε εάν υπάρχουν σφάλματα επικύρωσης και αν όχι, το βιβλίο προσθέτει στον κατάλογο
@ RequestMapping (value = "/ Δημιουργία", μέθοδος = RequestMethod.POST)
δημόσια String δημιουργήσει (βιβλίο Βιβλίο @ Ισχύει, αποτέλεσμα BindingResult) {
αν (result.hasErrors ()) {
επιστροφή "/ βιβλίο / createBook"?
}
bookList.add (βιβλίο)?
επιστροφή "ανακατευθύνει: GetView"?
}
/ / Εμφάνιση της λίστας των βιβλίων
@ RequestMapping (value = "/ GetView")
δημόσια θέα String (μοντέλο Model) {
model.addAttribute ("Κατάλογος βιβλίων", Booklist)?
επιστροφή "/ βιβλίο / view"?
}
}
βλέπουμε τώρα τα δύο jsp:
1) WEB-INF/jsp/book/createBook.jsp
<% @ Γλώσσα page = "java" contentType = "text / html? Charset = utf-8" pageEncoding = "utf-8"%>
<% @ Taglib prefix = "μορφή" uri = "http://www.springframework.org/tags/form"%>
<DOCTYPE html PUBLIC! "- / / W3C / / DTD HTML 4.01 Transitional / / EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> Προσθέστε ένα βιβλίο </ title>
</ Head>
<body>
<form:form commandName="book" method="post" action="create">
<fieldset>
<legend> Προσθέστε ένα βιβλίο </ θρύλο>
<p>
<form:label for="nome" path="nome"> Όνομα </ form: ετικέτα> <br/>
<form:input path="nome" /> <form:errors path="nome" />
</ P>
<p>
<form:label for="autore" Συγγραφέας path="autore"> </ form: ετικέτα> <br/>
<form:input path="autore" /> <form:errors path="autore" />
</ P>
<p>
<form:label for="dataDiUscita" Χρόνος Δημιουργίας path="dataDiUscita"> </ form: ετικέτα> <br/>
<form:input path="dataDiUscita" /> <form:errors path="dataDiUscita" />
</ P>
<p>
<input type="submit" value="Crea Libro" />
</ P>
</ FIELDSET>
</ Μορφή: form>
</ Body>
</ Html>
2) WEB-INF/jsp/book/view.jsp
<% @ Γλώσσα page = "java" contentType = "text / html? Charset = utf-8" pageEncoding = "utf-8"%>
<% @ Taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%>
<DOCTYPE html PUBLIC! "- / / W3C / / DTD HTML 4.01 Transitional / / EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> Κατάλογος βιβλία </ title>
</ Head>
<body>
<p>
href="createBook"> <a Εισάγετε ένα άλλο βιβλίο </ a>
</ P>
<fieldset>
Βιβλία <legend> εισάγεται </ θρύλος>
<c:forEach items="${bookList}" var="book">
Όνομα: <c:out value="${book.nome}" /> <br/>
Συγγραφέας: <c:out value="${book.autore}" /> <br/>
Έτος: <c:out value="${book.dataDiUscita}" /> <br/>
<hr/>
</ C: foreach>
</ FIELDSET>
</ Body>
</ Html>
Τέλος βλέπουμε τα περιεχόμενα του WEB-INF/spring-mvc-servlet.xml:
<! - Ενεργοποίηση σχολίων -> <mvc:annotation-driven /> <-! CONTROLLER -> <bean class="it.mrwebmaster.mvc.BookController" scope="session"/> <-! Resolver VIEW -> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </ Φασολιών>
| |
Linux (Μάθημα)
Πλήρης οδηγός για την open-source σύστημα. Από 49 €. |
| |
PHP (Μάθημα)
Η πλήρης σειρά μαθημάτων για τη δημιουργία δυναμικών ιστοσελίδων. Από 49 €. |
| |
Ruby και Ruby on Rails (Μάθημα)
Δημιουργία λογισμικού και Web εφαρμογές με Ρουμπίνι και RoR. Από 39 €. |