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 に答える