繁体   English   中英

Java Spring MVC Controller不重定向modelandview

[英]Java Spring MVC Controller is not redirecting modelandview

对控制器进行了AJAX调用:

$.ajax({
      cache : false,
      type : "POST",
      url : url,
      data : {
        //some data
      }

该调用已由控制器成功解释:

@RequestMapping(value = "/checkIfRatedOverall")
public ModelAndView checkIfRatedOverall(@ReqestParam.......)

但是当我返回ModelAndView时,什么也没发生! 视图保持不变,浏览器不显示xxx.jsp

return new ModelAndView("xxx"); //NOTHING HAPPENS

日志:

JstlView:166 - Forwarding to resource [/WEB-INF/views/xxx.jsp] in InternalResourceView 'xxx'

DispatcherServlet:1251 - Rendering view [org.springframework.web.servlet.view.JstlView: name 'xxx'

DispatcherServlet:1000 - Successfully completed request

您的内部视图解析器应该是这样的

<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" />
    </bean>

在这里查看ajax文档

$.ajax({ ...}).done(
      function( html ) {
           $( "#results" ).append( html );
      });

您如何处理ajax响应? 从我的角度来看,您对服务器响应没有任何反应。

使用@ResponseBody属性并返回JSON对象而不是模型视图

@RequestMapping(value = "checkIfRatedOverall", method = RequestMethod.POST)
public @ResponseBody String checkIfRatedOverall(@ReqestParam.......)
{
    return jsonStr://return json string
}

在jQuery中使用JSON.parse(data)解析字符串

$.ajax({
    cache : false,
    type : "POST",
    url : url,
    data : {
        //some data
    },
    success : function(data) {
        JSON.parse(data);
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM