..


赞助商链接

网络 - 一个完整的例子

下面是一个Web应用程序的例子,我们更精确地看到如何实现一个控制器JSP允许你添加一书的藏书。

首先,在我们的web.xml配置在WebApplicationContext和映射的DispatcherServlet:






 < - 弹簧 - >







 <context-param>



  



 <param-name> contextConfigLocation </参数名称>



  



 <param-value>类路径*:applicationContext.xml中</参数值>







 </上下文参数>









的<listener>



  



 <listener-class> org.springframework.web.context.ContextLoaderListener </监听级>







 </监听器>









 < - !MVC - >







的<servlet>



  



 <servlet-name>弹簧MVC </ servlet的名称>



  



 <servlet-class> org.springframework.web.servlet.DispatcherServlet </ servlet的类>



  



的<load-on-startup> 1 </负载上启动>







 </ Servlet的>









 <servlet-mapping>



  



 <servlet-name>弹簧MVC </ servlet的名称>



  



 <url-pattern> /动作/ * </的url - pattern>







 </ servlet的映射>



如果没有这一点,我们创建我们的图书类:






公共类图书{





  



 @尺寸(最小值= 1,消息=“字段名不能为空”)



  



 @模式(正则表达式=“[A - ZA - Z0 - 9 _]+",消息=”字段名称只能包含字母“)



  



私人字符串名称;



	

  



 @ NotNull



  



 @尺寸(最小值= 1,消息=“作者字段不能为空”)



  



 @模式(正则表达式=“[A - ZA - Z ']+",消息=”作者字段只能包含字母“)



  



私人字符串的作者;





  



 DateTimeFormat @(模式=“DD / MM / YYYY”)



  



 @ NotNull(消息=“的上映日期字段不能为空”)



  



私人日期dataDiUscita;



	

  



 / / getter和setter .................



  



 //..........







 }



正如你可以看到我们的书有三个属性:
  • 名书
  • 撰文
  • 发布日期
但我们看到,除了定义的属性,也有注释。
这些注解是部分JSR - 303 ,如果这些API implemtazione要么是在classpath目前,春天是能够验证我们的模型。
为使验证你只需要添加注释我们的模型的属性和添加应用我们的控制器@有效旁边的参数输入:





 @控制器







 {公共类BookController





  



私人名单尚书书目;



	

  



公共BookController(){



    



书目尚书=新的ArrayList();



  



 }



	

  



 / /显示的页面创建

 

  



 @ RequestMapping的(值=“/ createBook”方法= RequestMethod.GET)



  



公共字符串欢迎(型号模型){



    



 model.addAttribute(“书”,新书());



    



返回“/书/ createBook”;



  



 }



	

  



 / /检查是否存在验证错误,如果没有,书添加到列表



  



 @ RequestMapping的(值=“/创造”,方法= RequestMethod.POST)



  



公共字符串创建(书书@有效,BindingResult结果){



    



如果(result.hasErrors()){



      



返回“/书/ createBook”;



    



 }



    



 bookList.add(书);



    



返回“重定向:GetView”;



  



 }



	

  



 / /显示的书籍列表



  



 @ RequestMapping的(值=“/ GetView”)



  



公共字符串视图(模型的模型){



    



 model.addAttribute(“书目”,书目);



    



返回“/书/视图”;



  



 }







 }



我们现在看到的两个JSP:

1)WEB-INF/jsp/book/createBook.jsp






 <%@语言=页的“Java”的contentType =“text / html的;字符集= UTF - 8”pageEncoding =“UTF - 8”%>







 <%@标签库前缀=“形式的”uri =“htt​​p://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>加入书</ TITLE>







 </ HEAD>







 <BODY>







 <form:form commandName="book" METHOD="POST" action="create">



  



 <fieldset>



    



 <legend>添加一书</传奇>



    



 <P>



      



 <form:label f​​or="nome" path="nome">名称</形式:标签> <BR/>



      



 <form:input path="nome" /> <form:errors path="nome" />

			

    



 </ P>



    



 <P>

	

      



 <form:label f​​or="autore" path="autore">作者</形式:标签> <BR/>



      



 <form:input path="autore" /> <form:errors path="autore" />



    



 </ P>



    



 <P>



      



 <form:label f​​or="dataDiUscita" path="dataDiUscita">创建时间</形式:标签> <BR/>



      



 <form:input path="dataDiUscita" /> <form:errors path="dataDiUscita" />



    



 </ P>



    



 <P>

	

      



 <input type="submit" value="Crea Libro" />



    



 </ P>



  



 </字段集>







 </形式:形式>







 </ BODY>







 </ HTML>



2)WEB-INF/jsp/book/view.jsp





 <%@ LANGUAGE =页的“Java”的contentType =“text / html的;字符集= UTF - 8”pageEncoding =“UTF - 8”%>







 <%@标签库的uri =“htt​​p://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>插入</传奇>







 <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>







 </字段集>









 </ 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">



  



物权name="viewClass" value="org.springframework.web.servlet.view.JstlView" />



  



物权name="prefix" value="/WEB-INF/jsp/" />



  



物权name="suffix" value=".jsp" />







 </豆>



春天的Java指南
电子学习
Linux操作系统(课程) Linux操作系统(课程)
完整指南开源系统。 从49€。
PHP(课程) PHP(课程)
全部课程用于创建动态Web站点。 从49€。
Ruby和Ruby on Rails的(课程) Ruby和Ruby on Rails的(课程)
创建Ruby和RoR的软件和Web应用程序。 从39€。
赞助商链接