从ModelAndView的在jsp中检索模型
-
19-09-2019 - |
题
我目前想在我的控制器返回从的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");
不隶属于 StackOverflow