..
He aquí un ejemplo de una aplicación web, podemos ver con más precisión cómo implementar un controlador y un jsp, que le permiten añadir un libro de una colección de libros.
En primer lugar, en nuestro web.xml configurar el WebApplicationContext y mapeo de la DispatcherServlet:
<- PRIMAVERA -> <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> primavera-MVC </ servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </ servlet-class> <load-on-startup> 1 </ load-on-startup> </ Servlet> <servlet-mapping> <servlet-name> primavera-MVC </ servlet-name> <url-pattern> / action / * </ url-pattern> </ Servlet-mapping>
Sin que esto creamos nuestra clase Book:
public class Libro {
@ Size (min = 1, el mensaje = "El nombre del campo no puede estar vacío")
@ Patrón (regex = "[A-Za-z0-9 _]+", message =" El nombre del campo sólo puede contener letras ")
private String nombre;
@ NotNull
@ Size (min = 1, el mensaje = "El campo de autor no puede estar vacío")
@ Patrón (regex = "[A-Za-z']+", message =" El campo de autor sólo puede contener letras ")
autor de cadenas privadas;
DateTimeFormat @ (patrón = "dd / MM / yyyy")
@ NotNull (message = "El campo de fecha de lanzamiento no puede estar vacío")
Fecha dataDiUscita privado;
/ / Getters y setters .................
//..........
}
Como usted puede ver nuestro libro tiene tres atributos:
@ Controller
{Public BookController clase
Lista privada Booklist <Book>;
pública BookController () {
Lista de libros <Book> = new ArrayList ();
}
/ / Muestra la creación de la página
@ RequestMapping (value = "/ createBook" method = RequestMethod.GET)
public String bienvenida (modelo tipo) {
model.addAttribute ("libro", nuevo libro ());
return "/ libro / createBook";
}
/ / Comprobar si hay errores de validación y si no, el libro se suma a la lista
@ RequestMapping (value = "/ create", method = RequestMethod.POST)
public String crear (libro Book @ válidos resultado, BindingResult) {
if (result.hasErrors ()) {
return "/ libro / createBook";
}
bookList.add (libro);
return "redirect: GetView";
}
/ / Mostrar la lista de libros
@ RequestMapping (value = "/ GetView")
Ver public String (modelo de modelos) {
model.addAttribute ("Lista de libros", lista de libros);
return "/ libro / vista";
}
}
ahora vemos los dos jsp:
1) WEB-INF/jsp/book/createBook.jsp
<% @ Page language = "java" contentType = "text / html; charset = UTF-8" pageEncoding = "UTF-8"%>
<% @ Taglib prefix = "forma" 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> Añadir un libro </ title>
</ Head>
<body>
<form:form commandName="book" method="post" action="create">
<fieldset>
<legend> Añadir un libro </ legend>
<p>
<form:label for="nome" path="nome"> Nombre </ form: label> <br/>
<form:input path="nome" /> <form:errors path="nome" />
</ P>
<p>
<form:label for="autore" Autor path="autore"> </ form: label> <br/>
<form:input path="autore" /> <form:errors path="autore" />
</ P>
<p>
<form:label for="dataDiUscita" Momento de la creación path="dataDiUscita"> </ form: label> <br/>
<form:input path="dataDiUscita" /> <form:errors path="dataDiUscita" />
</ P>
<p>
<input type="submit" value="Crea Libro" />
</ P>
</ Fieldset>
</ Form: 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">
<title> Lista de libros </ title>
</ Head>
<body>
<p>
href="createBook"> <a Introduzca otro libro </ a>
</ P>
<fieldset>
Libros <legend> inserta </ legend>
<c:forEach items="${bookList}" var="book">
Nombre: <c:out value="${book.nome}" /> <br/>
Autor: <c:out value="${book.autore}" /> <br/>
Año: <c:out value="${book.dataDiUscita}" /> <br/>
<hr/>
</ C: forEach>
</ Fieldset>
</ Body>
</ HTML>
Finalmente podemos ver el contenido de WEB-INF/spring-mvc-servlet.xml:
<- Activar Anotaciones -> <mvc:annotation-driven /> <- CONTROL -> <bean class="it.mrwebmaster.mvc.BookController" scope="session"/> <- VISTA AL RESOLVER -> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> propiedad> name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> propiedad> name="prefix" value="/WEB-INF/jsp/" /> propiedad> name="suffix" value=".jsp" /> </ Bean>
| |
Linux (Curso)
Guía completa de código abierto del sistema. A partir de 49 €. |
| |
PHP (Curso)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 49 €. |
| |
Ruby y Ruby on Rails (Curso)
Crear aplicaciones de software y la Web con Ruby y RoR. A partir de 39 €. |