0

フォーム投稿を受け入れるコントローラーがあります-

@Controller
public class RegistrationFormController extends SimpleFormController {
.....
.....
    @RequestMapping(value="index", method=RequestMethod.POST)
    protected ModelAndView onSubmit(@ModelAttribute Registration registration) throws Exception {
        String uname=registration.getUsername();
        .....
    .......

         ModelAndView mv = new ModelAndView("success");
.....
......
          mv.addObject("addr",addr);

        return mv;
    }

これは、SimpleFormController を拡張しなくても同様に機能します。
では、拡張することで何が得られるのでしょうか?

4

1 に答える 1

1

うーん、設定が良くないようです。@Controller注釈は、ステレオタイプを宣言するために使用される便利な機能です。Component別のSpringまたはSpringマネージドBeanであり、コンポーネントスキャンで検出できると言っているだけです。

拡張するときにSimpleFormController、それがコントローラーであり、コントローラーとして使用する必要があることを明示的に言う場合、送信されたフォームデータを受け入れ、ビューの形式で応答を返すために使用されます。

同じクラスの2つの表記法はまったく意味がありません。クラスを作成するとSimpleFormController、メソッド名の使用が制限され、メソッドの使用が強制されるように感じますonSubmit。一方、使用する@Controller場合は、Spring 3 以降のすべての柔軟性を活用します。

于 2013-09-13T11:34:15.330 に答える