..
Oto przykład z aplikacji internetowych, widzimy dokładniej jak wdrożyć kontroler i jsp, który pozwala na dodanie książki do księgozbioru.
Przede wszystkim w naszym web.xml skonfigurować WebApplicationContext i mapowanie DispatcherServlet:
<- WIOSNA -> <context-param> <param-name> contextConfigLocation </ param-name> <param-value> classpath *: applicationContext.xml </ param-value> </ Context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </ listener-class> </ Listener> <- MVC -> <servlet> <servlet-name> wiosna-MVC </ servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </ servlet-class> <load-on-startup> 1 </ load-on-startup> </ Servlet> <servlet-mapping> <servlet-name> wiosna-MVC </ servlet-name> <url-pattern> / action / * </ url-pattern> </ Servlet-mapping>
Bez tego tworzymy naszą klasę Book:
Rezerwuj publicznej klasy {
@ Size (min = 1, message = "Nazwa pola nie może być puste")
@ Wzór (regex = "[A-Za-z0-9 _]+", message =" Nazwa pola może zawierać tylko litery ")
prywatnych String name;
@ NOTNULL
@ Size (min = 1, message = "Pole autor nie może być puste")
@ Wzór (regex = "[A-Za-z']+", message =" Pole autor może zawierać tylko litery ")
prywatnych autor String;
DateTimeFormat @ (wzorzec = "dd / MM / yyyy")
@ NOTNULL (message = "Pole Data wydania nie może być puste")
prywatnych Data dataDiUscita;
/ / Metod pobierających i ustawiających .................
//..........
}
Jak widać nasza książka ma trzy cechy:
@ Controller
{Public class BookController
prywatnych Booklist <book> Lista;
publicznych BookController () {
Booklist <book> = new ArrayList ();
}
/ / Pokaż tworzenie stron
@ RequestMapping (value = "/ createBook" method = RequestMethod.GET)
public String mile widziane (model Model) {
model.addAttribute ("książka", nowej książki ());
return "/ książka / createBook";
}
/ / Sprawdź czy są błędy walidacji, a jeśli nie, książka dodaje do listy
@ RequestMapping (value = "/ create", metoda = RequestMethod.POST)
public String stworzyć (książka @ Ważne, wynik BindingResult) {
if (result.hasErrors ()) {
return "/ książka / createBook";
}
bookList.add (książka);
return "przekierowanie: GetView";
}
/ / Pokaż listę książek
@ RequestMapping (value = "/ GetView")
widok publiczny String (model Model) {
model.addAttribute ("Booklist", Booklist);
return "/ książka / view";
}
}
teraz widzimy dwóch jsp:
1) WEB-INF/jsp/book/createBook.jsp
<% @ Page Language = "java" contentType = "text / html; charset = UTF-8" pageEncoding = "UTF-8"%>
<% @ Taglib prefix = "formularz" 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> Dodaj książkę </ title>
</ Head>
<body>
<form:form commandName="book" method="post" action="create">
<fieldset>
<legend> Dodaj książkę </ div>
<p>
<form:label for="nome" path="nome"> Nazwa </ form: label> <br/>
<form:input path="nome" /> <form:errors path="nome" />
</ P>
<p>
<form:label for="autore" path="autore"> Autor </ form: label> <br/>
<form:input path="autore" /> <form:errors path="autore" />
</ P>
<p>
<form:label for="dataDiUscita" czas utworzenia path="dataDiUscita"> </ form: label> <br/>
<form:input path="dataDiUscita" /> <form:errors path="dataDiUscita" />
</ P>
<p>
<input type="submit" value="Crea Libro" />
</ P>
</ Zestaw pól>
</ Formularz: form>
</ Body>
</ Html>
2) WEB-INF/jsp/book/view.jsp
<% @ Page Language = "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">
Lista <title> książek </ title>
</ Head>
<body>
<p>
href="createBook"> <a Wpisz inną książkę </ a>
</ P>
<fieldset>
Książki <legend> brzmieniu </ div>
<c:forEach items="${bookList}" var="book">
Imię i nazwisko: <c:out value="${book.nome}" /> <br/>
Autor: <c:out value="${book.autore}" /> <br/>
Rok: <c:out value="${book.dataDiUscita}" /> <br/>
<hr/>
</ C: forEach>
</ Zestaw pól>
</ Body>
</ Html>
W końcu widzimy zawartość WEB-INF/spring-mvc-servlet.xml:
<- Włącz adnotacje -> <mvc:annotation-driven /> <- STEROWNIK -> <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" /> </ Bean>
| |
Linux (Kurs)
Kompletny przewodnik do systemu open-source. Od 49 €. |
| |
PHP (Kurs)
Pełny kurs tworzenia dynamicznych stron internetowych. Od 49 €. |
| |
Ruby i Ruby on Rails (Kurs)
Tworzenie oprogramowania i aplikacji webowych w języku Ruby RoR. Od 39 €. |