..
下面是一个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 .................
//..........
}
正如你可以看到我们的书有三个属性:
@控制器
{公共类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 =“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>加入书</ 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>
</字段集>
</形式:形式>
</ BODY>
</ HTML>
2)WEB-INF/jsp/book/view.jsp
<%@ LANGUAGE =页的“Java”的contentType =“text / html的;字符集= UTF - 8”pageEncoding =“UTF - 8”%>
<%@标签库的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>插入</传奇>
<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" /> </豆>
| |
Linux操作系统(课程)
完整指南开源系统。 从49€。 |
| |
PHP(课程)
全部课程用于创建动态Web站点。 从49€。 |
| |
Ruby和Ruby on Rails的(课程)
创建Ruby和RoR的软件和Web应用程序。 从39€。 |