在Spring MVC中使用Model和@ModelAttribute

时间:2014-06-20 12:06:15

标签: java spring jsp spring-mvc modelattribute

我是Spring MVC的新手,并试图将Struts 2应用程序转换为Spring MVC。 现在有很多选项可以处理请求参数和设置要呈现的数据      让我通过以下代码解释:

    @RequestMapping("/sales"
    public Class SalesController{
          @AutoWired 
          ISaleService saleService;
          ...
               ///getters and setters for service instance.omitted for brevity
          ...
          @RequestMapping("/")
          public String viewRoles(@ModelAttribute SaleBean saleBean,
          Map<String,Object> model){
             List<Sale> sales = getSaleService().getAllSales();
             model.put("sales",sales); //Option 1 to render sales on jsp form

             SaleBean saleBean = new SaleBean();
             saleBean.setSales(sales); //option 2 to render sales on jsp form
             model.put("saleBean",saleBean)   
          } 
    }

在上面的例子中,我展示了两个选项,它们都可以正常工作,我可以在JSP上呈现销售信息。我也有命令名为&#34; saleBean&#34;在我的表格上。

1.Is Model参数通常用于将数据放在传出响应上,这样当我使用@ModelAttribute作为第二个参数时,是否真的需要在JSP上呈现?

2.我是否需要在代码的选项2中显式实例化SaleBean类?如果已经为null,spring会实例化它吗?

3.我是否需要将saleBean明确地放入模型中?从Spring文档中可以看出@Modelattribute对象也隐含在模型中。

0 个答案:

没有答案