2012-03-07 22 views
1

は、クラス(ORMエンティティを)考えてみましょ作成するServletRequestDataBinder:春MVC - 自動的にネストされたプロパティのインスタンス

public class MyEntity { 
    Long id; 
    MyOtherEntity assoc; 
    // ... getters and setters 
} 

それはSpring MVCのコントローラに自動的にバインドされるために、私がしたい、そのような何か:

public ModelAndView method(HttpServletRequest request, 
    HttpServletResponse response, MyEntity command) { 
} 

それは、IDのような単純な性質のためにうまく動作しますが、assocがコンストラクタでインスタンス化されていなかったので、assocことは、例外がスローされますNullValueInNestedPathException。問題は、ネストされたプロパティパスを通過するときにプロパティを自動的にインスタンス化するには、ServletRequestDataBinder(またはBeanWrapperまたは何か)を自動的にインスタンス化するにはどうすればよいですか?

MyEntityから派生した別のクラスを作成してインスタンス化することはできますが、派生クラスはマップされないため、単純なHibernateコールを使用して保存することはできません。

答えて

0

MultiActionControllerの場合、これを行う方法の1つは、newCommandObjectを上書きすることです。私はもっ​​と汎用的な解決策を望んでいます。

関連する問題