我是spring的新手。我的要求是在spring ajax调用中将当前页面内容替换为另一个页面内容。 以下是我的代码: a1.jsp
<script>
$(document).ready(function(){
$("#my").click(function(){
$.ajax({
type : 'post',
url : 'CheckAjax',
success : function(data) {
console.log("success");
console.log(data);
$("#result").empty();
$("#result").html(data);
},
error : function() {
console.log("fail");
}
});
});
});
</script>
<div id="result">admin</div>
<input type="button" id="my"/>
ajaxcheck.jsp
<div id="result"><c:out value="${model}"/></div>
Spring Controller:
@RequestMapping(value="CheckAjax")
@ResponseBody
public ModelAndView myAjax(){
logger.info("i am executing");
return new ModelAndView("ajaxcheck","model","success");
}
控制台显示 成功 Object {view:null,model:Object,empty:false,viewName:&#34; ajaxcheck&#34;,reference:true ...} empty:falsemodel:ObjectmodelMap:Objectreference:trueview:nullviewName:&#34; ajaxcheck&#34; proto :对象
我已经在我的struts2项目中实现了这一点。但是我很难在春天如何做到这一点?
任何帮助将不胜感激!!!
答案 0 :(得分:0)
删除@ResponseBody
有帮助,因为有一些预定义的返回值处理程序可以处理MVC控制器的返回类型
因此,当一个人返回Object
org.springframework.web.method.support.HandlerMethodReturnValueHandler
时,@ResponseBody
界面就会通过识别而出现
适当的返回类型处理程序,然后将处理委托给适当的处理程序。
以下返回类型是Spring MVC 3.2.x及更高版本中支持的返回类型。
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#getDefaultReturnValueHandlers()
这些都是按照以下方法定义的 {{1}}
中有记录