我是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对象也隐含在模型中。