`

Restful风格的springMVC搭配ajax请求

阅读更多
最近好像很流行Restful,终于弄懂一点眉目。一个小小的ajax请求没反应让我找了半天错误,原来是请求路径写错了。不给提示,坑死哥了。记下来

点击页面按钮,调用以下函数
function ideaStatus(el){
							var self=$(el);
							var status=self.attr('data-status');
							var ideaId=self.attr('data-id');
							var txt=self.text();
							var txtStatus = self.text();
							$('#status-confirm p').text('确定 '+txt+'?');
							status=status==1?0:1;
							$('#status-confirm').dialog({
								title:'提示信息',
								autoOpen: true,
								height: 'auto',
								width: 300,
								modal: true,
								buttons: {
									"确定": function(){		
								    		$.post('admin/idea/check/lock',{
								    			ideaId:ideaId,status:status
								    		},function(data){
								    			$('#status-confirm').dialog("close");				  		  	
							  		  				if(data=='success'){			
							  		  					self.attr('data-status',status);
							  		  					txt=status==1?'锁定':'解锁';
							  		  					self.text(txt);
							  		  					$('.app-list').appTip(txtStatus+' 成功');
							  		  				}else{
							  		  					alert('操作失败,请联系系统维护人员');
							  		  				}
								    		},"text");										 	
										},
									'取消': function(){
										$(this).dialog("close");
									}
								}
							});
		 	}



@ResponseBody
@RequestMapping(value="/check/{operation}",method=RequestMethod.POST)
	public String ideaCheck(@PathVariable("operation")String operation,
			@ModelAttribute("idea") Idea idea){
		Map<String,Object> params = new HashMap<String, Object>();
		//传参错误直接返回
		if(null != idea && idea.getIdeaId()!=null)
		{
			params.put("ideaId", idea.getIdeaId());
			
			if("lock".equals(operation)){
				params.put("status", idea.getStatus());
			}else if("audit".equals(operation)){
				params.put("auditStatus", idea.getAuditStatus());
				params.put("score", idea.getScore());
			}
			ideaService.updateIdea(params);
		}
		return "success";
	}


@ResponseBody 代表是ajax请求,有了此标签就不用像struts2中那样写print.out了,前台还可以指定输出的格式,这里是text,说明是个字符串

@RequestMapping(value="/check/{operation}" 这就是restful风格的写法了,用唯一的url响应一个请求,不用带参数的方式

method=RequestMethod.POST 代表是update操作

(@PathVariable("operation")与requestMapping中的内容一致

@ModelAttribute("idea") Idea idea 实体对象当做一个参数传过来了。注意jsp中的值名称必须和实体对象一致哦



PS:如果返回json格式的数据,一定要加几个包,否则不会调用回调函数
jackson-annotations-2.2.3.jar
jackson-core-2.2.3.jar
jackson-databind-2.2.3.jar

controller的返回值需要改为 Object的
@ResponseBody
@RequestMapping(value="/support", method=RequestMethod.POST)
public Object support(@ModelAttribute("idea") Idea idea,HttpServletRequest req
jsp的
<a href="javascript:;" onclick="ideaStatus(this);"
					class="decr app-status" data-status="${i.status}"
					data-id="${i.ideaId}">
					<c:if test="${i.status=='1'}">锁定</c:if>
					<c:if test="${i.status=='0'}">解锁</c:if>
					</a>
				</p>
分享到:
评论

相关推荐

    一个实用了spring mvc和ajax异步请求的例子

    前端JavaScript代码可以监听用户的事件(如点击按钮),然后发送Ajax请求到服务器,获取数据后动态更新页面。 下面是一个简单的Ajax请求示例,使用jQuery库: ```javascript $.ajax({ url: '/api/posts', // 调用...

    spring_mvc_ajax.zip_SpringMVC ajax_SpringMVC+ajax_spring ajax_sp

    2. **定义SpringMVC Controller**:在服务器端,创建一个SpringMVC的Controller类,定义一个处理Ajax请求的方法。这个方法通常会带有`@RequestMapping`注解,指明该方法将处理特定的URL请求。 3. **数据交换格式**...

    springmvc的ajax配置,实现

    创建一个Spring MVC Controller,定义一个处理Ajax请求的方法。使用`@ResponseBody`注解,告诉Spring MVC返回的数据应该是JSON格式: ```java @RestController public class AjaxController { @...

    数据统计报表实时更新springmvc+ajax+highcharts

    在本项目中,我们首先在后端使用SpringMVC搭建服务,设计RESTful API接口,接收Ajax请求并处理数据。接着,前端利用Ajax技术与后端进行通信,定时或按需请求新的数据。收到数据后,前端使用Highcharts将数据渲染成...

    SpringMVC(八)处理AJAX请求

    在本文中,我们将深入探讨如何在Spring MVC框架中处理AJAX请求。AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。Spring ...

    springmvc 3.2.8 restful支持

    jQuery或现代JavaScript库如Vue.js、React等可以方便地发起AJAX请求,利用XMLHttpRequest或fetch API与Spring MVC的REST接口通信,实现页面局部更新,提高用户体验。 5. **JSON支持**:Spring MVC 3.2.x内置了对...

    java springmvc

    在实际项目中,SpringMVC可以与其他技术结合,如MyBatis、RESTful API等,构建复杂的企业级应用。理解并熟练掌握SpringMVC的这些核心概念和功能,对于提升开发效率和代码质量具有重要意义。同时,持续关注Spring框架...

    springMVC的一些示例,里面有ajax以及mvc的一些demo

    在Spring MVC中,可以通过使用jQuery或其他库或者纯JavaScript实现Ajax请求,与服务器进行通信,返回JSON或XML数据。 此外,"上传的一些配置"可能涉及以下内容: 1. MultipartFile:Spring MVC提供的一种用于处理...

    springmvc+hibernate rest 架构

    4. **CORS跨域处理**:跨域资源共享(CORS)是一种W3C标准,允许浏览器向不同源的服务器发送Ajax请求。在SpringMVC中,可以通过添加过滤器或者使用`@CrossOrigin`注解来启用CORS,以支持前端跨域请求。 5. **...

    ajax+springmvc+json

    2. **创建Controller**:定义一个SpringMVC的控制器类,包含一个处理Ajax请求的方法,该方法使用`@RequestMapping`注解来匹配URL,`@ResponseBody`注解将返回值转化为JSON。 3. **Ajax请求**:在前端JavaScript代码...

    springMVC资料

    在JavaScript中发送AJAX请求到服务器,如果处理不当,可能会出现中文乱码。解决这个问题通常需要在服务器端和客户端都设置正确的字符编码,例如在SpringMVC中,可以在Controller方法上使用`@ResponseBody`注解,并...

    springmvc实战项目sample

    SpringMVC支持RESTful风格的API开发,通过`@RequestMapping`的`method`属性指定HTTP方法,实现CRUD操作。 11. **AJAX与JSON** 结合jQuery、Ajax和Jackson库,SpringMVC可以实现前后端异步交互,以JSON格式交换...

    前后端分离springmvc和RESTful理解.docx

    - 针对MVC的不足,前后端分离通过AJAX请求和JSON响应优化数据交换,减少了服务器渲染负担。 - RESTful是Roy Fielding博士提出的轻量级Web服务架构风格,强调使用URL访问资源,支持多种HTTP方法(GET, POST, PUT, ...

    springMVC完整教程及学习文件

    SpringMVC可以通过@RequestBody和@ResponseBody注解来处理Ajax请求,将JSON或XML数据直接序列化为Java对象,或反序列化为响应内容,方便前后端异步通信。 通过学习和实践这些知识点,开发者可以充分利用SpringMVC的...

    SpringMVC:整合JQUERY与JSON

    - **Ajax请求**:使用jQuery的`.ajax()`或`.getJSON()`发起异步请求到SpringMVC的控制器方法。 - **数据序列化与反序列化**:SpringMVC使用`@RequestBody`和`@ResponseBody`注解将JSON数据自动转换为Java对象,...

    SpringMVC+Hibernate+EXT

    EXTJS的组件通过Ajax请求与SpringMVC的RESTful接口进行通信,获取或提交数据。EXTJS的Store负责数据缓存和异步加载,与Hibernate的ORM机制相结合,实现了数据的透明处理。此外,EXTJS的Model可以与后台的Java Bean...

    SpringMVC后台

    SpringMVC提供了@ResponseBody和@RequestBody注解,方便与前端进行异步JSON交互,实现Ajax请求。 15. **Spring Security**: 对于权限控制,可以集成Spring Security,提供认证和授权功能,保护应用程序的安全性...

    SpringMVC解析JSON请求数据问题解析

    在本文中,我们将深入探讨SpringMVC如何解析JSON请求数据,这对于开发RESTful API和服务至关重要。SpringMVC是Spring框架的一部分,专门用于处理Web请求,包括JSON格式的数据。在前后端分离的架构中,JSON成为了前后...

    SpringMVC框架.zip

    9. RESTful风格支持:SpringMVC可以方便地创建RESTful Web服务,通过HTTP方法(GET、POST、PUT、DELETE等)来表示不同的操作。 10. 集成其他Spring模块:SpringMVC可以与Spring其他模块无缝集成,如Spring AOP...

    基于AJAX结合SpringMVC的信息访问服务模式研究

    【基于AJAX结合SpringMVC的信息访问服务模式研究】 AJAX(Asynchronous JavaScript and XML)是一种在不重新加载整个网页的情况下,能够更新部分网页的技术。它利用JavaScript、XHTML、CSS、DOM、XML、XSLT以及...

Global site tag (gtag.js) - Google Analytics