【发布时间】:2016-02-11 16:52:55
【问题描述】:
嘿, 我有一个拦截所有请求(GET & POST)的代码,并最终使用表单重定向到另一个页面。 我希望当用户发布表单时,执行初始截获的请求
我的实际代码:
public void doFilter(ServletRequest originalRequest, ServletResponse res, FilterChain chain){
originalRequest.getRequestDispatcher("/message").forward(request, res);
}
...
@RequestMapping("/message", method=GET)
public void showMessageForm(...){
...
}
@RequestMapping("/message", method=POST)
public void messageOk(ServletResponse res, ModelAndView mav){
//redirect to the originalRequest.
????
}
originalRequest 可以是 GET 或 POST。如果是帖子,我也想传递表单的内容。
谢谢!
【问题讨论】:
-
messageOk 会做什么?您是否希望它将它们发送回请求的原始 URL?
-
是的。如果原始请求是 POST,则作为帖子。
-
您不能使用 HTTP 重定向到 POST。但我不确定这是你想要做的。需要更多信息。你的 messageOk 处理程序的目的是什么?
-
在用户的某些操作之后只显示一次页面。有时用户发布,有时获取,拦截器在端点之前捕获请求以显示此消息页面。用户在页面上填写表单后(通过 POST 发送),中断的请求必须运行。
-
显示的页面是否有某种“确定”或“继续”链接或用户将与之交互的按钮?
标签: java url-redirection requestdispatcher