我目前想在我的控制器返回从的onsubmit()的模型。我然后我想在我的JSP来检索。

例如

Map model = new HashMap();
model.put("errors", "example error");
return new ModelAndView(new RedirectView("login.htm"), "model", model);

,然后用它检索

<c:out value="${model.errors}"/>

然而,这并不显示任何内容。它关系到正确的RedirectView的和不发出任何错误,但不显示的文字。

任何帮助将不胜感激。

感谢

有帮助吗?

解决方案

RedirectView的确实发出了一个重定向头至浏览器,浏览器页面的完整的重新加载,因此模型不得意忘形那边(因为它有自己的模型现在处理通过登录控制器)什么。

你可以做的就是通过请求属性传递错误:

在您的views.properties:

loginController.(class)=org.springframework.web.servlet.view.InternalResourceView
loginController.url=/login.htm

然后,而不是返回RedirectView的:

request.setAttribute("errors", "example errors");
return new ModelAndView("loginController");

和在该属性您登录控制器检查,并将其添加到模型中。

<强>更新不使用views.properties:

request.setAttribute("errors", "example errors");
return new ModelAndView(new InternalResourceView("/login.htm"));

也可以添加(另一个)内部视图解析器到你的App-servlet.xml中(注意从API:当链接ViewResolvers,如果InternalResourceViewResolver总是需要在最后,因为它会尝试解决任何视图名称,无论底层资源实际存在):

<bean id="viewResolver2"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
</bean>

,然后只用:

request.setAttribute("errors", "example errors");
return new ModelAndView("/login.htm");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top