@ModelAttribute でアノテーションが付けられたメソッドで、Spring モデルをモデルとして使用できますか? モデル内に属性が見つからないというエラーが表示されます。
オブジェクトをモデルに追加する方法は次のとおりです。
@ModelAttribute("survivor")
public Model getSurvivors(Model m) {
m.addAttribute("decedent", new Decedent());
return m;
}
レンダリング方法はこちら。「モデルにはdecedent = trueが含まれています」と出力されます
@RenderMapping(params="render=survivors")
public String showSurvivors(Model model, RenderRequest request, RenderResponse response) throws Exception {
logger.info("in showSurvivors");
logger.debug("model contains decedent={}, mode.containsAttribute("decedent");
return "survivors";
}
jsp は次のとおりです。
<form:form commandName="survivor" action="${submitAction}">
<form:input path="decedent.firstName" />
エラー:
org.springframework.web.servlet.tags.RequestContextAwareTag doStartTag Bean クラス [org.springframework.validation.support.BindingAwareModelMap] の無効なプロパティ 'decedent': Bean プロパティ 'decedent' が読み取れないか、無効な getter メソッドがあります: 戻りますかgetter の型は setter のパラメータ型と一致しますか?