1

我在 Spring MVC 中使用 ajax 时遇到了一些问题。我只想使用 ajax 刷新一个页面(并从控制器获取一个页面)。所以我在做什么。

$.ajax({                                       
  url : '/getCartProducts',
  type : 'GET',
  async: true,
  data : {},
  success : function(data) {  
    //data shoud be rendered jsp with model from the controller  
  },
  error: function (jqXHR, textStatus, errorThrown) {
    alert(jqXHR + " : " + textStatus + " : " + errorThrown); 
  }
})`

此功能应该让我从控制器查看页面。这是我的控制器。

@RequestMapping(value = "/getCartProducts", method = RequestMethod.GET)
@ResponseBody String ajaxGetProdCart(HttpServletRequest request) {
    LOG.trace("We are in the controller");      
    return "cart"; //this is jsp page
}

在没有@ResponseBody 的情况下尝试这样做,但它不起作用。它提醒我错误:Not found

<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
<bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/pages/" />
  <property name="suffix" value=".jsp" />
  <property name="contentType" value="text/html; charset=UTF-8" />
</bean>

<bean id="messageSource"
      class="org.springframework.context.support.ResourceBundleMessageSource">
  <property name="basename" value="messages" />
  <property name="useCodeAsDefaultMessage" value="true" />
</bean>

<bean id="jacksonMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
</bean>

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">      
  <property name="messageConverters">
    <list>
      <ref bean="jacksonMessageConverter" />
    </list>
  </property>
</bean>
4

1 回答 1

0

cart.jsp必须在 pages 文件夹内。您必须删除@ResponseBody注释

于 2012-05-19T09:15:30.630 回答