之前主要做的是后台应用的开发,Spring接触过几个项目,但是接触不深。此次平台开发打算相对深入研究一下Spring的MVC,有两点心得。
首先是form页面处理。Spring提供了一种方式,就是可以通过form:form标签以及form:input标签来进行绑定,这个样整个页面将会显得更加的优雅;但是这个只适合提交页面,因为对于展示页面很多地方还是无法采用这种方式来显示,比如span标签内部显示的文字无法通过这种绑定进行显示,还是要回到原始的${...}的方式;有一篇文章“spring学习: spring mvc表单提交”对于Spring的form绑定介绍比较详细,读后觉得对于各种已经涵盖了常用应用的各个方面
如果采用参数包含ModelAndView方式,返回值一定是ModelAndView,不能再使用返回值String的方式
@RequestMapping(value = "/product")
public ModelAndViewgetProductDetail(ModelAndView model) {
List<Product> lst = mapper.getProducts();
Product p = lst.get(0);
model.addObject("product", p);
model.setViewName("product/productDetail");
return model;
}
@RequestMapping(value = "/home")
public String showHomePage() {
List<Product> lst = mapper.getProducts();
Product p = lst.get(0);
return "home";
}
第二个就是JSTL(JSP Standard Tag Library) 是JSP的标准标签库,通过引入jstl.jar以及taglib.jar来实现标签库的引用,常见的foreach便利就是来自于此标签库;你也可以编辑自己的标签库,比如放置到/WEB-INF/tags下面,那么你只需要在引用此标签的页面的顶部添加上:
<%@ taglibprefix="tags" tagdir="/WEB-INF/tags"%>
标签是自成体系,比如分页部分做成一个标签,那么提交到的servlet是标签内部定义的地址,和外部引用无关。