我希望我的Spring MVC应用程序重定向到动态URL(由用户提交).所以,如果我有这样的代码,
@RequestMapping("/redirectToSite")
protected ModelAndView redirect(
@RequestParam("redir_url") String redirectUrl,
HttpServletRequest request,
HttpServletResponse response)
{
// redirect to redirectUrl here
return ?
}
Run Code Online (Sandbox Code Playgroud)
我应该写什么来重定向到提交的URL?例如,http://mySpringMvcApp/redirectToSite?redir_url=http://www.google.com应该重定向到Google.
我试图在我的Spring MVC应用程序中实现RESTful URL.一切都很好,除了处理表格提交.我需要将其重定向回原始表单或"成功"页面.
@Controller
@RequestMapping("/form")
public class MyController {
@RequestMapping(method = RequestMethod.GET)
public String setupForm() {
// do my stuff
return "myform";
}
@RequestMapping(method = RequestMethod.POST)
public String processForm(ModelMap model) {
// process form data
model.addAttribute("notification", "Successfully did it!");
return "redirect:/form";
}
}
Run Code Online (Sandbox Code Playgroud)
但是,正如我在Spring文档中读到的那样,如果重定向任何参数都会被放入url中.这对我不起作用.围绕这个最优雅的方式是什么?
我正在尝试重定向,而不将参数添加到我的网址.我的意思是在重定向之后,我的网址看起来像这样:.../success /?param1 = xxx¶m2 = xxx.
此问题与此Spring MVC控制器完全相同:重定向没有将参数添加到我的URL
响应/sf/answers/1178916441/就是我正在寻找(ignoreDefaultModelOnRedirect).问题是我使用的是Spring 3.0.如何使用Spring版本解决它?
我想创建自己的自定义范围bean,它将使用HTTP会话(一种Flash范围).
根据Spring Manual我需要实现org.springframework.beans.factory.config.Scope接口
public class CustomScope implements Scope {
@Override
public Object get(String arg0, ObjectFactory<?> arg1) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getConversationId() {
// TODO Auto-generated method stub
return null;
}
@Override
public void registerDestructionCallback(String arg0, Runnable arg1) {
// TODO Auto-generated method stub
}
@Override
public Object remove(String arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public Object resolveContextualObject(String arg0) {
// TODO Auto-generated method stub
return null;
} …Run Code Online (Sandbox Code Playgroud)