【发布时间】:2016-02-08 15:09:16
【问题描述】:
我正在将我的控制器转换为 spring mvc 中带注释的样式控制器。
基本上我在旧式控制器 simpleformcontroller 中执行此操作。
protected Map referenceData(HttpServletRequest request) throws Exception
{
Map referenceData = new HashMap();
List<ItemVo> lstItem1 = eqrManager
.searchAllEqptCondQualItems("A1", "BOXES");
List<ItemVo> lstItem2 = eqrManager
.searchAllEqptFullQualItems("A2", "CANNED_GOODS");
referenceData.put("BOX_ITEMS", lstItem1);
referenceData.put("CANNED_ITEMS", lstItem2);
return referenceData;
}
在注释中,我做了这样的事情:
@ModelAttribute("BOX_ITEMS")
public List<ItemVo> populateCondEQRItems() {
List<ItemVo> lstCondQual = eqrManager
.searchAllEqptCondQualItems("A1", "BOXES");
return lstCondQual;
}
@ModelAttribute("CANNED_ITEMS")
public List<ItemVo> populateFullEQRItems() {
List<ItemVo> lstFullQual = eqrManager
.searchAllEqptFullQualItems("A2", "CANNED_GOODS");
return lstFullQual;
}
我的问题是,有没有办法在一个方法中返回所有属性而不是 必须创建多个@ModelAttribute?就我而言,我需要注释 2 方法?如果我需要怎么办 3,我也应该创建3个带注释的方法吗?
【问题讨论】:
-
你的最后两个方法中没有modelAttribute对象。如果你用@ModelAttribute注解了一个方法,它会在解析@ModelAttribute注解的方法参数之前被调用。
-
您好,根据您的说法,我无法理解,请原谅我的理解。我从某处的链接中读到,如果您使用 @ModelAttribute 注释方法,这看起来像 simpleformcontroller 的 referencedata 工作流?我并没有真正将它用作@ModelAttribute 方法参数。谢谢。
标签: spring-mvc