Java 当控制器重定向时,我无法通过SpringMVC获取json数据

Java 当控制器重定向时,我无法通过SpringMVC获取json数据,java,json,spring-mvc,Java,Json,Spring Mvc,我想从SpringMVC返回json和html spring配置:(当控制器未重定向时,它是正常的!) 当ModelAndView的视图在我的控制器中被重定向时,如何获取json数据?重定向不起作用,重定向意味着重定向后向服务器发出新的请求。您可以让它使用重定向属性,并将它们设置到flash地图中。但总的来说似乎过于复杂,为什么不让“用户/测试”页面调用另一个返回JSON响应的控制器。@M.Deinum抱歉,也许我的描述有误。我的意思是,当控制器重定向时,我无法获取JSON数据。(我已经解决了我

我想从SpringMVC返回json和html spring配置:(当控制器未重定向时,它是正常的!)


当ModelAndView的视图在我的控制器中被重定向时,如何获取json数据?

重定向不起作用,重定向意味着重定向后向服务器发出新的请求。您可以让它使用
重定向属性
,并将它们设置到flash地图中。但总的来说似乎过于复杂,为什么不让“用户/测试”页面调用另一个返回JSON响应的控制器。@M.Deinum抱歉,也许我的描述有误。我的意思是,当控制器重定向时,我无法获取JSON数据。(我已经解决了我的问题)我已经理解了,我的评论仍然适用。@M.Deinum我只是想减少代码的重复和冗余,(控制器返回html,同时也可能被ajax调用),2个方法(1个返回视图名称,另一个返回json)是如何冗余的?您只需将该方法一分为二,只需更改JSP即可。
<bean
    class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
    <property name="ignoreAcceptHeader" value="true" />
    <property name="defaultContentType" value="text/html" />
    <property name="mediaTypes">
        <map>
            <entry key="json" value="application/json" />
            <entry key="xml" value="application/xml" />
        </map>
    </property>
    <property name="favorParameter" value="false" />
    <property name="viewResolvers">
        <list>
            <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" />
            <bean
                class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                <property name="viewClass"
                    value="org.springframework.web.servlet.view.JstlView" />
                <property name="prefix" value="/WEB-INF/views/" />
                <property name="suffix" value=".jsp">
                </property>
            </bean>
        </list>
    </property>
            <!--  ............... -->
@RequestMapping(value="test")
public ModelAndView test(HttpServletRequest request,HttpServletResponse response){
    Result result = new Result(/*.......*/);
             //return 
             {
             //====>it is OK,when i call http://localhsot/test.json 
                ModelAndView mv = new ModelAndView("user/test","result",result);                       
                return mv; //
            }
            {
            //=====> it is also redirect,when i call  http://localhsot/test.json (response statues 302!)
                ModelAndView mv = new ModelAndView("redirect:user/test""result",result);
                return mv;
            }
}