springMVC 学到新的知识点

来源:互联网 发布:数组和矩阵的区别 编辑:程序博客网 时间:2024/05/22 01:54

以前做的各种springMVC的管理系统,都是仿照公司cms的写代码方式:

在Controller下的方法一般都写成:

public ModelAndView  toSave(HttpServletRequest request){  // do somthing here};


今天重新学习springMVC时又认识到了新的知识:

实体对象:Product.java和ProductForm.java

两个JSP页面:ProductForm.jsp和ProductDetails.jsp

一个controller:ProductController.java


ProductForm.jsp:


做的是输入的操作。其中Add Product 执行ProductController中的saveProduct方法:

@RequestMapping(value="/product_save")
    public String saveProduct(ProductForm productForm,Model model){
        logger.info("saveProduct called");
        
        Product product=new Product();
        product.setName(productForm.getName());
        product.setDescription(productForm.getDescription());

        product.setPrice(productForm.getPrice());
        
        model.addAttribute("product", product);
        return "ProductDetails";
    }

ProductDetails.jsp的显示结果是:


为什么会出现这样的结果呢? 我何时给ProductForm.java里存值了呢?

然后看到方法中的参数有ProductForm ,猜测是不是他自动获取的?


于是将方法中的红色部分代码做个替换:

        product.setName(productForm.getDescription());
        product.setDescription(productForm.getName());

输入同样的内容 ,得到结果

同时发现,ProductForm.jsp页面中,每个输入框的name属性分别为name、description、price;

猜测在save方法中ProductForm productForm 获得的就是这个name属性下 输入的值。


实属个人猜测,请指正!


1 0
原创粉丝点击