使用角度js时如何执行服务器端重定向

时间:2016-01-31 05:54:38

标签: angularjs spring-mvc

我正在使用spring mvc 4进行Web应用程序,我想知道如果以角度js向控制器发出post请求,我们可以在同一个控制器中使用请求调度程序将请求和响应转发到另一个页面,因为当前我无法将请求和响应转发到另一个jsp页面。当使用角度js时,还有其他任何替代方法可以执行服务器端重定向,我可以将请求和响应对象转发到另一个jsp页面。
有没有办法将请求对象转发给角度js以及json对象基本上是一种将请求对象的参数值转发给角度js的方法?

3 个答案:

答案 0 :(得分:1)

可以使用UriComponentsBuilder类在Spring中重定向。

  @RequestMapping(value="/RequestMappingUrl", method = RequestMethod.POST)

    public ResponseEntity<> redirectExample(){
            HttpHeaders headers = new HttpHeaders();
            UriComponentsBuilder b = UriComponentsBuilder.fromPath("/redirectURL");

             UriComponents uriComponents =  b.build();
             return new ResponseEntity<void>(headers,HttpStatus.FOUND);


        }

在AngularJS中,ng-route可用于显示与url对应的模板。否则,您可以确定从Spring MVC Controller显示哪个页面。

@RequestMapping(value="/redirectURL",method = RequestMethod.GET)
     public String getFaultAndRejectedMessagesPage() {
         return "htmlPageToDisplay";
     }

答案 1 :(得分:0)

据我了解,您希望使用http重定向重定向发布请求

使用此代码。

public void sampleAction(HttpServletResponse response)
{
    response.sendRedirect("/someController/somePage"); 
}

而且,link to documentation

答案 2 :(得分:0)

您也可以使用angular.js执行此操作。只需捕获回复并使用$location服务重定向

或者您可以使用工厂服务存储数据,然后在所需页面上检索它。

如果您使用的是ui-router,则可以像this

那样进行操作