我有一个表单,可以向我的控制器提交新文章。
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>
控制器方法:
@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
}
现在从上面的控制器方法我想重定向到另一个我要通过的方法
目前已将文章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;
}
我想知道如何在上述方法中访问传递的请求参数?
答案 0 :(得分:1)
如果您提交没有参数的操作网址,或者为此目的使用hidden
字段,那么您应该返回该参数作为结果。因此,您不会丢失它,或者重定向到不再需要参数的页面。要在网址中传递参数
<form class="form-signin" method="post" action="/articleViewer?varArticleID=94">
答案 1 :(得分:1)
我在返回时使用Redirect属性解决了它...
return "redirect:/articleViewer?varArticleID="+getVarArticleID();
答案 2 :(得分:0)
因此,如果您需要提交后的页面,请更改
形式的操作值<form class="form-signin" method="post"
action="/articleViewer?varArticleID={yourArticleid}">
提交后还需要
return Path.Jsp.ARTICLE_VIEWER_PAGE+"?varArticleID="+request.getParameter("varArticleID");