0

で注釈が付けられた引数を持つSpringMVCコントローラーのアクションメソッドがあります@ModelAttribute。ただし、コンパイル時にこのパラメーターの型が何であるかはわかりません。抽象基本型は知っていますが、派生型はわかりません。

実行時に、期待しているクラスを決定でき、このクラスの新しいインスタンスを取得できます。ただし、同じ方法でリクエストデータを解析するためにどのコードを呼び出す必要があるのか​​わかり@ModelAttributeません。

私は周りを見回しましたが、私が手に入れることができれば、それWebRequestDataBinderを使ってオブジェクトにデータを入力できるようですが、そのためにはaが必要でありBinderFactory、これが私が迷子になる場所です。

誰かが私にここでいくつかの指針を与えることができますか?または私がそれを間違った方法で見ていて、何か他のことをする必要があると私に言うことができますか?

4

1 に答える 1

0

コントローラメソッドにモデル自体を挿入し、自分で属性にアクセスできます。

@RequestMapping(...)
public void doStuff(ModelMap model) {
    Object attr = model.get("nameOfAttribute");
    // ...
}
于 2012-12-06T12:59:15.343 に答える