웹 - 완전한 예제
다음은 웹 응용 프로그램의 예입은, 우리는 당신이 도서의 컬렉션에 책을 추가할 수 있도록 컨트롤러와 JSP를 구현하는 방법을보다 정확하게 참조하십시오.
우선, 우리의 web.xml에서 WebApplicationContext를 구성하고 DispatcherServlet을 매핑 :
<-! SPRING -> <context-param> <param-name> contextConfigLocation </ PARAM - 이름> <param-value> 클래스 경로 * : applicationContext.xml </ PARAM 가치> </ 문맥 PARAM> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </ 리스너 동급> </ 리스너> <- MVC -> <servlet> <servlet-name> 스프링 MVC </ 서블릿 - 이름> <servlet-class> org.springframework.web.servlet.DispatcherServlet </ 서블릿 동급> <load-on-startup> 1 </ 하중 - 온 - 시작> </ 서블릿> <servlet-mapping> <servlet-name> 스프링 MVC </ 서블릿 - 이름> <url-pattern> / 액션 / * </ URL 패턴> </ 서블릿 - 매핑>
이것없이는 우리는 우리의 예약 클래스를 만들려면 :
공용 클래스 도서 {
@ 사이즈 (최소 = 1, 메시지 = "필드 이름은 비워둘 수 없습니다")
@ 패턴 (정규식 = "는 [a-zA-Z0-9 _] +", 메시지 = "필드 이름만을 문자를 포함할 수 있습니다")
개인 문자열 이름;
@ NotNull
@ 사이즈 (최소 = 1, 메시지 = "작성자 필드는 비워둘 수 없습니다")
@ 패턴 (정규식 = "는 [a-zA-Z '] +', 메시지 ="작성자 필드에만 문자를 포함할 수 있습니다 ")
개인 문자열 저자;
@ DateTimeFormat (패턴 = "DD / MM / YYYY ')
@ NotNull (메시지 = "날짜 필드 출력은 비워둘 수 없습니다")
민간 날짜 dataDiUscita;
/ / Getters와 setters .................
/ / ..........
}
: 당신은 우리의 도서는 세 가지 특성을 가지고 볼 수 있듯이
- 책의 이름
- 저자
- 날짜를 놓아
이러한 주석의 일부 JSR-303 과, 이러한 API의 implemtazione가 클래스 패스에있는 경우, 봄 우리 모델을 확인할 수 있습니다.
유효성 검사를 활성화하려면 것은 우리의 모델의 속성에 주석을 추가하고 우리의 컨트롤러의 입력에 다음 @ 유효 paremetro를 추가할 필요가 :
@ 컨트롤러
공용 클래스 {BookController
민간리스트 <Book> Booklist;
공공 BookController () {
Booklist <Book> = 새로운 ArrayList를 ();
}
/ /이 페이지 생성보기
@ RequestMapping (값 = "/ createBook"방법 = RequestMethod.GET)
공공 문자열 환영 (모델 모델) {
model.addAttribute ( "책", 새로운 도서 ());
"/ 도서 / createBook"반환;
}
/ / 유효성 검사 오류가 있는지 확인하고, 아니라면,이 책은 목록에 추가
@ RequestMapping (값 = 메소드 = RequestMethod.POST을 "/ 만들기")
공공 문자열을 작성합니다 (유효 @ 예약 도서, BindingResult 결과) {
IF (result.hasErrors ()) {
"/ 도서 / createBook"반환;
}
bookList.add (도서);
; "GetView 리디렉션"반환
}
/ /이 도서의 목록을 표시합니다
@ RequestMapping (값 = "/ GetView")
공공 문자열 뷰 (모델 모델) {
model.addAttribute ( "Booklist", Booklist);
"/ 도서 /보기"반환;
}
}
우리는 이제 두 개의 JSP를 참조하십시오
1) WEB-INF/jsp/book/createBook.jsp
<% @ 페이지에서 언어 = "자바"contentType = "text / html과; 문자셋 = UTF-8"pageEncoding = "UTF-8"%>
<% @ Taglib 접두사 = "형식"URI = "http://www.springframework.org/tags/form"%>
<DOCTYPE HTML PUBLIC "- / / W3C / / DTD HTML 4.01 과도 / / EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE> 도서 </ 제목> 추가
</ HEAD>
<BODY>
<form:form commandName="book" method="post" action="create">
<fieldset>
<legend> 도서 </ 전설> 추가
<P>
<form:label for="nome" path="nome"> 이름 </ 형태 : 레이블> <br/>
<form:input path="nome" /> <form:errors path="nome" />
</ P>
<P>
<form:label for="autore" path="autore"> 작성자 </ 형태 : 레이블> <br/>
<form:input path="autore" /> <form:errors path="autore" />
</ P>
<P>
<form:label for="dataDiUscita" path="dataDiUscita"> 날짜 </ 형태 : 레이블>를 만든 <br/>
<form:input path="dataDiUscita" /> <form:errors path="dataDiUscita" />
</ P>
<P>
<input type="submit" value="Crea Libro" />
</ P>
</ Fieldset>
</ 양식 : 양식>
</ BODY>
</ HTML>
2) WEB-INF/jsp/book/view.jsp
<% @ 페이지에서 언어 = "자바"contentType = "text / html과; 문자셋 = UTF-8"pageEncoding = "UTF-8"%>
<% @ Taglib URI = "http://java.sun.com/jsp/jstl/core"접두사 = "C"%>
<DOCTYPE HTML PUBLIC "- / / W3C / / DTD HTML 4.01 과도 / / 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>
은 <a href="createBook">보기 </ a> 다른 책을 입력
</ P>
<fieldset>
도서 <legend> </ 전설> 포함
items="${bookList}" var="book">을 <c:forEach
이름 : <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 /> <-! 컨트롤러 -> <bean class="it.mrwebmaster.mvc.BookController" scope="session"/> <-! 확인자보기 -> <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" /> </ 빈>






