-1

Spring でコントローラー ハンドラーを記述するための 2 つの形式があります。
使用するフォーマットを決定するものを誰かが要約するのを手伝ってくれませんか。
また、好みの形式は何ですか?
初心者であるため、これは正しい軌道に乗るのに役立ちます。

オプション1:

@RequestMapping(value=".....", method=RequestMethod.GET)
    public String loadFormPage(Model m) {
        m.addAttribute("subscriber", new Subscriber());
        return "formPage";
    }

    @RequestMapping(value="....", method=RequestMethod.POST)
    public String submitForm(@ModelAttribute Subscriber subscriber, Model m) {
        m.addAttribute("message", "Successfully saved person: " + subscriber.toString());
        return "formPage";
    }

オプション 2:

@RequestMapping(value=".....")
    public ModelAndView personPage() {
        return new ModelAndView("person-page", "person-entity", new Person());
    }

    @RequestMapping(value=".....")
    public ModelAndView processPerson(@ModelAttribute Person person) {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("person-result-page");

        modelAndView.addObject("pers", person);

        return modelAndView;
    }
4

1 に答える 1

0

Spring のコントローラー メソッドは、ゼロから多数の入力パラメーターをサポートできます。入力パラメーターを指定するための Spring の主要なメカニズムは、@RequestParamおよび@ModelAttributeアノテーションです。
アノテーションは、@RequestParam文字列や整数などの個々のリクエスト パラメータをコントローラのメソッド パラメータにバインドするために使用されます。注釈は、ドメイン オブジェクト、データ転送オブジェクト、フォーム バッキング オブジェクトなどの複雑なオブジェクトをコントローラーのメソッド パラメーターにバインドするために使用されます
@ModelAttribute

注釈は、変数の型によって決まります。
プリミティブ変数には注釈が付けられ@RequestParam
ます 複合変数には注釈が付けられます@ModelAttribute

注釈名は変数名から派生します

Spring のコントローラー メソッドはモデル データを出力することもできます。出力モデル データを指定するための Spring の主要なメカニズムはModelAndViewオブジェクトです。
メソッドによって返されるデータがない場合、コントローラー メソッドは、Stringレンダリングする必要があるビューを表す を単に返すことができます。
コントローラ メソッドがデータを返す場合、ModalAndViewオブジェクトをインスタンス化する必要があり、各出力変数がモデル属性としてModelAndViewオブジェクトに追加されます。

于 2013-09-05T05:36:16.737 に答える