ajax的url是client/lookfor,问题解决了吗?同样访问不到?,不知道你是不是在xML文件中配置了视图处理,你在后台打个断点,看看有没有走到lookfor对应的方法里面!追问试过了,没有到lookfor去是不是我的url写的不对??追答你用的什么浏览器调试的?如果是chrome或Firefox,打开F12,看看控制台有没有报什么404 not find之类的错误;如果有这错误,你调一下url,如果没错,你看看你的配置文件有没有对路径扫描的配置,是不是不支持JavaScript啊,试下右键项目名--->Project Facets------->选中JavaScript 1.0建议不要用Eclipse自带的浏览器测试,下个火狐或者谷歌浏览器测试追问支持js啊,会不会是我的url写的不对?几个xml我都配置了啊追答路径不应该是/Test/client/lookfor吗?你在Controller上面也加了一个@RequestMapping("/client"),改下ajax里面url试试,你可以在ajax里面加上success:function(data) { if(data == "success") { document.location = location; } }, error:function() { alert("更新失败!"); } ajax中data是json类型的,要指定:contentType : 'application/json',dataType : 'json'Controller中的lookfor(String etype)应该给参数加上@RequestBody注解lookfor( @RequestBody String etype)http://what-is-javascript.iteye.com/blog/1735691本回答被网友采纳www.zgxue.com防采集请勿采集本网。
1. 需要注意的问题 mvc框架的处理日期问题 @ResponseBody响应对象是自定义对象,响应不是json @ResopnseBody响应自定义对象时,日期为是long类型的数 结束数据方法的参数,该如何定义?接收多个对象?
html页面通过 ajax请求的response返回 return mapper.toJson();//json字符串 然后html通过ajax返回值获取进行处理类似 Java code? $.ajax({ url : "${pageContext.request.contextPath}/admin/wxflowMainNodeLog/view.do", async : true, data
2. 页面代码
后台解析ajax传递的数据,这主要看前端传递数据的格式,主要有以下几种常见的。 1、前端ajax传递表单数据,类似{name:'zhangsan',age:'17'} 后台只需利用request.getParameter("name")形式即可获取对应的value值。 2、前端传递json数据格式。后
<%@ page language="java" isELIgnored="false" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ajax批量新增操作</title><script type="text/javascript" src="js/jquery-3.4.1.js"></script></head><body><form id="myForm"><table border="1" ><tr><td>姓名</td><td>身份证</td><td>时间</td><td>direction</td><td>type</td><td>操作</td></tr><tbody id="tbody"><tr><td><!-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。 --><input type="text" name="visitorList[0].name"/></td><td><input type="text" name="visitorList[0].cardNo"/></td><td><input type="date" name="visitorList[0].visitorTime"/></td><td><input type="radio" value="1" name="visitorList[0].direction"/>进入<input type="radio" value="2" name="visitorList[0].direction"/>离开</td><td><input type="radio" value="1" name="visitorList[0].type"/> 内部<input type="radio" value="2" name="visitorList[0].type"/> 外部</td><td><input class="remove" type="button" value="移除"></td></tr></tbody><tr><td colspan="6"><input id="add" type="button" value="新增visitor" /><input id="save" type="button" value="保存"/></td></tr></table></form><script>$(function() {var index_val = 0;$("body").on('click', '.remove', function() {// 移除当前行, 通过父级来绑定...// $(this).parent().parent().remove();$("#tbody tr").remove();// 覆盖,生成行if (index_val > 0) {var data_str = "";for (var i = 0; i < index_val; i++) {data_str += "<tr>" +"<td>" +"<input type='text' name='visitorList[" + i + "].name'/>" +"</td>" + "<td>" + "<input type='text' name='visitorList[" + i + "].cardNo'/>" +"</td>" + "<td>" + "<input type='date' name='visitorList[" + i + "].visitorTime'/>" +"</td>" +"<td>" +"<input type='radio' value='1' name='visitorList[" + i + "].direction'/>进入" +"<input type='radio' value='2' name='visitorList[" + i + "].direction'/>离开" +"</td>" +"<td>" + "<input type='radio' value='1' name='visitorList[" + i + "].type'/> 内部" +"<input type='radio' value='2' name='visitorList[" + i + "].type'/> 外部" +"</td>" +"<td>" +"<input class='remove' type='button' value='移除'>" +"</td>" +"</tr>";}$("#tbody").append(data_str);}// 把下标减少一 就行了,就是移除了。index_val --;console.log("remove: ", index_val);});$("#add").click(function() {// 自增1index_val ++;var data_str = "<tr>" +"<td>" +"<input type='text' name='visitorList[" + index_val + "].name'/>" +"</td>" + "<td>" + "<input type='text' name='visitorList[" + index_val + "].cardNo'/>" +"</td>" + "<td>" + "<input type='date' name='visitorList[" + index_val + "].visitorTime'/>" +"</td>" +"<td>" +"<input type='radio' value='1' name='visitorList[" + index_val + "].direction'/>进入" +"<input type='radio' value='2' name='visitorList[" + index_val + "].direction'/>离开" +"</td>" +"<td>" + "<input type='radio' value='1' name='visitorList[" + index_val + "].type'/> 内部" +"<input type='radio' value='2' name='visitorList[" + index_val + "].type'/> 外部" +"</td>" +"<td>" +"<input class='remove' type='button' value='移除'>" +"</td>" +"</tr>";$("#tbody").append(data_str);console.log("add==>" + index_val);});$("#save").click(function() {var form_data = $("#myForm").serialize();// console.log(form_data)$.ajax({url: "visitor/batchAdd",type: "post",data: form_data,success: function(data) {console.log(data);},error: function(e) {console.log(e);}});});});</script></body></html>
在Spring框架4.2版本后,Spring给出了注解的方式解决问题。即在Controller控制器中,在Controller注解上方添加@CrossOrigin注解。 1. 最近别人需要调用我们系统的某一个功能,对方希望提供一个api让其能够更新数据。由于该同学是客户端开发,于
js学得terrible… 能够移除,我的移除是先移除所有的行,重新生成行,比较之前生成的行,少一行。
两种方式:1、通过response写回去,例如response.getWriter().write("1111111");2、可以通过注解@ResponseBody写回去,例如:@ResponseBody@RequestMapping("/findById.do")public Person findById(String id,HttpServletResponse response) {P
3. controller定义参数接收
ajax和springmvc没关系。 springmvc是java的框架,ajax是前端的异步通信的方式。 springmvc可以暴露出接口,ajax来访问该接口,实现前后端数据传输。
批量新增实体类BatchVisitor ,定义集合接收多个对象
package cn.bitqian.entity;import java.util.ArrayList;import java.util.List;/** * 批量新增 visitorInfo * @author echo lovely * */public class BatchVisitor {private List<VisitorInfo> visitorList = new ArrayList<>();public List<VisitorInfo> getVisitorList() {return visitorList;}public void setVisitorList(List<VisitorInfo> visitorList) {this.visitorList = visitorList;}public BatchVisitor() {}}
controller方法,放实体类,实体类里面套VisitorInfo的集合
@RequestMapping(value="/batchAdd", method=RequestMethod.POST)@ResponseBodypublic VisitorInfo batchAddVisitor(BatchVisitor batchVisitor) {List<VisitorInfo> visitorList = batchVisitor.getVisitorList();// System.out.println(batchVisitor);for (VisitorInfo visitorInfo : visitorList) {System.out.println(visitorInfo);visitorInfoService.save(visitorInfo);}return new VisitorInfo(1, "dd", "bb", new Date(), 1, 2);}
对于上面响应了对象到页面,会报错,需要导入json的依赖。
<!-- json 用于响应 responseBody --><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.6</version></dependency>
接收页面的参数,需要字符串转型为日期,需要
或者加上注解,mvc会将字符串转换为对应格式的日期
响应对象有日期时,解决:
到此这篇关于springmvc 结合ajax批量新增的文章就介绍到这了,更多相关springmvc批量新增内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网! 您可能感兴趣的文章:SpringMVC+Ajax实现文件批量上传和下载功能实例代码Springmvc ajax跨域请求处理方法实例详解利用 FormData 对象和 Spring MVC 配合实现Ajax文件下载功能spring mvc利用ajax向controller传递对象的方法示例SpringMVC环境下实现的Ajax异步请求JSON格式数据
第一种方来式:通过源request.getParameter方式获取;第二种方式:参bai数中添加du@zhiRequestParam,代dao码:@RequestMapping(value="/test")public ModelAndView assign(@RequestParam String email,@RequestParam String password) {return null;}内容来自www.zgxue.com请勿采集。