我有一个表单可以向我的 Controller 提交新文章。
JSP 页面:
<form class="form-signin" method="post"
action="/articleViewer">
<div class="control-group" style="margin-top: -5px;">
<label class="control-label text-info" for="commentContent"><strong>Post
Comment</strong></label>
<div class="controls">
<textarea class="FormElement" name="area2" id="commentContent"
style="width: 100%;"></textarea>
</div>
</div>
<button type="submit" class="btn btn-primary" style="margin-left: 90%;">Post</button>
</form>
Controller 方法:
@RequestMapping(value="/articleViewer", method = RequestMethod.POST)
public String saveArticleComment (HttpServletRequest request, HttpServletResponse response,Principal principal, ModelMap map) throws ServletException, IOException{
//processing request
System.out.println("Link : "+Path.Jsp.ARTICLE_VIEWER_PAGE);
return Path.Jsp.ARTICLE_VIEWER_PAGE; //this ARTICLE_VIEWER_PAGE = /articleViewer
}
现在从上面的 Controller 方法我想重定向到另一个我想传递的方法
当前保存的文章 ID 为 http://<myurl>/article?articleId="xyz".
这是我用于处理重定向的 get 方法代码。
@RequestMapping(value="/articleViewer", method= RequestMethod.GET)
public String articleViewer(HttpServletRequest request, Principal principal,
ModelMap map, HttpServletResponse response)
throws DatabaseException {
//I wanna access article id here.
return Path.Jsp.ARTICLE_VIEWER_PAGE;
}
我想知道如何访问上述方法中传递的请求参数?
最佳答案
如果您提交不带参数的操作网址,或使用隐藏
字段来实现此目的,那么您应该返回该参数作为结果。因此,您不会丢失它,也不会重定向到不再需要该参数的页面。要在 url 中传递参数,请使用
<form class="form-signin" method="post" action="/articleViewer?varArticleID=94">
关于java - 重定向到 URL 时无法访问 SpringMVC Controller 中的请求参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17390819/