0

我知道这在 url 包含参数“deleteItem = 6”的情况下有效

@ActionMapping(params="deleteItem")
public void deleteItem(@ModelAttribute("items") Items items, BindingResult bindingResult, @RequestParam int deleteItem) throws Exception {
    items.getItems().remove(deleteItem);
    ...
}

但我可以做这样的事情吗(使用deleteItem 参数的值:

@ActionMapping(params="deleteItem={idx}")
public void deleteItem(@ModelAttribute("items") Items items, BindingResult bindingResult, @RequestParam int idx) throws Exception {
    items.getItems().remove(idx);
    ...
}

没什么大不了的,就是代码更具可读性,因为它表明参数值是一个索引。

谢谢。

4

1 回答 1

0

不,您不能像这样使用动态参数作为绑定名称,@ActionMapping(params="deleteItem={idx}")因为 Spring Portlet MVC 需要将方法绑定到具有唯一名称的操作。

你的第一个片段是正确的。

于 2012-12-20T03:49:53.000 回答