这是我想要的效果,但我无法弄清楚语法:
@RequestMapping(method = RequestMethod.GET, params = { "param1", "param2" }, produces = "text/html")
public String createForm(Model uiModel, @RequestParam("param1") String param1, @RequestParam("param2") String param2, HttpServletRequest request, HttpServletResponse response) throws IOException {
populateEditForm(uiModel, new Object());
return "fubar/update?param1=" + param1+ "¶m2=" + param2;
}
错误是
javax.servlet.ServletException: Could not resolve view with name 'fubar/update?param1=...
有没有办法将查询参数附加到返回字符串?
Thanks!
查看您在问题下方添加的评论,看起来您正在尝试转发到视图(例如:JSP)。所以,是的,那里没有重定向。您可以在 HTML FORM 上设置这些参数(就像您所做的那样)。但您也可以通过将这些值添加到模型中来设置它们。因此,在这种情况下,您绝对应该使用第一个 ModelAndView 构造函数参数来指定要转发到的视图[不带“重定向”部分],并使用第二个参数来传递模型参数。
将旧的 Struts 应用程序转换为 Spring 应用程序时,这种情况经常发生。在 struts 中,“看起来”您可以以有趣的方式添加请求/URL 参数。实际上,一旦收到入站 HTTP 请求,向 URL 参数添加内容就没有意义了。您只想向“请求处理”逻辑添加新值(向模型添加参数)。如果您确实需要向 URL 添加参数,则仅当您想创建新请求(主要是重定向到另一个页面)时。在这种情况下,另一个答案位于正确的路径上,但您希望将 URL 参数添加到“redirect:”字符串(在 ModelAndView 构造函数的第一个参数中):
return new ModelAndView("redirect:fubar/update?param1=" + param1+ "¶m2=" + param2);
当然,这是如果您想要重定向(HTTP 302)到另一个页面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)