我正在尝试使用GET参数来更改模型属性,该属性创建一个像返回视图的对象一样的表。具体来说:我想将列的名称作为GET参数发送,并通过不同的着色突出显示该列。我目前的设置如下:
private String highlightedCol;
@ModelAttribute("model")
public Model populateModel() {
Model model = new Model();
generateModel();
//Use Highlighted Col
return model;
}
@RequestMapping("/index")
public String getIndex(@RequestParam(value="ts", required = false, defaultValue="") String col) {
highlightedCol = col;
return "index";
}
我在使用ModelAttribute中的“col”参数时遇到问题,因为ModelAttribute在RequestMapping之前执行。我如何为我的模型使用GET参数?
答案 0 :(得分:0)
您只需使用method=RequestMethod.GET
即可。请注意GET
或POST
方法。确保您想要阅读/获取日期,请使用GET
。如果要使用插入数据,请使用POST
@RequestMapping(value="/your_url", method=RequestMethod.GET)
@ModelAttribute("model")
答案 1 :(得分:0)
在向同事询问我的问题后,他想出了这个答案: 我摆脱了@ModelAttribute Annotation并将getIndex方法更改为:
@RequestMapping("/index")
public ModelAndView getIndex(@RequestParam(value="ts", required = false, defaultValue="") String col) {
highlightedCol = col;
Map<String, Object> model = new HashMap<>();
model.put("model", populateModel());
return new ModelAndView("index", model);
}
这样populateModel方法就不再在getIndex方法之前执行,允许我在创建模型之前设置highlightCol,我需要该字段。