这里有新鲜出炉的精品教程,程序狗速度看过来!
Spring是什么呢?首先它是一个开源的项目,而且目前非常活跃;它是一个基于IOC和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层 中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了统一的接口,采用IOC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现Transcation Managment,等等
这篇文章主要为大家详细介绍了SpringMVC实现数据绑定及表单标签的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
首先理解数据绑定
为什么要使用数据绑定
基于HTTP特性,所有的用户输入的请求参数类型都是String,比如下面表单:
但我们提交后,为了将请求信息映射到模型中,还需要手动进行格式转换,此外还借助了一个中转对象productForm,其字段名称和Product一模一样,只是类型为String。
- @RequestMapping(value = "/product_save",method = RequestMethod.POST)
- public String saveProduct(ProductForm productForm, RedirectAttributes redirectAttributes)
- {
- logger.info("saveProduct called");
- System.out.println(productForm);
- Product product = new Product();
- product.setName(productForm.getName());
- try { //还需要强制类型转换
- product.setPrice(Float.parseFloat(productForm.getPrice()))
- } catch (Exception e) {
- e.printStackTrace();
- }
- product.setDescription(productForm.getDescription());
- Product savedProduct =productService.add(product);
- //这里实现了重定向传值,但是必须要在配置文件中引用 <annotation-driven/>
- redirectAttributes.addFlashAttribute("message","The product was successful added");
- return "redirect:/product_view/"+savedProduct.getId();
- }
为了避免转换异常及减轻我们的工作量,引入了数据绑定。
数据绑定是将用户输入绑定到领域模型的一种特性。
有了数据绑定后,SpringMVC将会为我们自动进行格式转换,我们如下编写即可:
- public String saveProduct(Produc product, RedirectAttributes redirectAttributes) {....
- }
这无疑将是方便的。但是,实现数据绑定需要用到表单标签库。
表单标签库
加入taglib指令
表单标签库包含了可以用在JSP页面中渲染html元素的标签。
为了使用这些标签,必须在开头声明这个taglib指令
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
表单标签
实现的效果
来源: http://www.phperz.com/article/17/1129/358051.html