我有一个使用名为ModelAttribute
的{{1}}绑定到视图的对象。在该对象中,我有2个名为SurveyDetail
和id
的属性。为了访问surveyYear
方法中的值,我为每个属性都有一个隐藏字段。 surveyYear值在控制器中正确返回,但id返回null。它们都是surveyDetail的一部分,我无法理解为什么它为surveyYear正确绑定而不是id?不会抛出任何错误,并且在初始POST
上它在id字段中具有正确的值,但是一旦到达GET
,则id值返回null。此外,当我执行request.getParameter(“id”)时,返回正确的值,但如果我尝试引用绑定路径POST
,则返回null。请帮助我无法弄清楚我做错了什么。 id字段在页面上的任何其他位置都不存在,null可以来自哪里?
控制器surveyDetail.getId
方法:
Post
JSP表单:
@RequestMapping(method=RequestMethod.POST)
public String submit(@ModelAttribute(WebConstants.SURVEY_DETAIL) SurveyDetail surveyDetail, BindingResult result, HttpServletRequest request, HttpServletResponse response) throws IOException
{
if (LOGGER.isDebugEnabled())
LOGGER.debug(surveyDetail.getId() + " Year : " + surveyDetail.getSurveyYear());
if (LOGGER.isDebugEnabled())
LOGGER.debug("REQUEST PARAMETER: " + request.getParameter("id"));
return WebConstants.SELECT_STATES_VIEW_REDIRECT;
}