springmvc后台如何接收ajax传的json格式的数据,以及json数据采用哪种方式传到后台 2C

我现在遇到一个难题,以前,我用ajax传输数据到后台,后台用springmvc接收,成功了,但是,那个时候,我用的ajax的data部分是{"dcCode":dcCode,"itemNo":itemNo...},这样,我是一个参数,一个参数输入的,虽然慢,但是,还是成功地传输了。现在,我遇到的问题是,很多的参数,需要用遍历的方法来传参,我用jsonstr拼接json字符串的方法,拼出了以下的json格式,{"dcCode":"22","itemNo":"3456",...,"sectionName":"食品课"},....,可能有几百条这样的{}, 然后,我创建了一个数组var values=new Array, 用push把这些jsonstr都放进去,最后,我用ajax的dataType:json,post方法把这些数据传到后台,可是,后台是springmvc,@RequestBody(value="/save",method="post"), 可是,当我用String[] values来接收传过来的json参数的时候,却总是null,不知道到底是怎么回事儿,请教大家,都是用什么样的方法来处理这样传输多条json数据到后台的?如果我的思路是对的,能否把这个代码正确的告诉我?如果有更好的方法,请回答。非常感谢。

为了更好的说明问题,我把代码贴出来,如下

 function submit(){
    debugger;
    var n=$("#countnumber").text();




    var i=0;

    for(var a=0;a<n;a++){
        var saveData=new Array();
        var arr1=$('.item p').find('input:text');
        var arr2=$('.item p').find('input:checkbox');
        for(i=0;i<arr1.length;i++){
            saveData.push((arr1).eq(i).val());
        };



        for(var j=0;j<arr2.length;j++){
            saveData.push((arr2).eq(j).val());
        };



    };

    function User(userId,userName,userPwd,memo,addDate,modifyDate,addUserId){
           this.userId=saveData[1];
           this.userName=saveData[2];
           this.userPwd=saveData[3];
           this.memo=saveData[4];
           this.addDate=saveData[5];
           this.modifyDate=saveData[6];
           this.addUserId=saveData[7];
    };

      var user=new User(); 
      var users=new Array();
     users.push(user);


    $.ajax({
         type: "post",//数据发送的方式(post 或者 get)
         url: "insert.do",//要发送的后台地址
         data: {"user":JSON.stringify(users)},
         dataType: "text",//后台处理后返回的数据格式
         success:function (data){  
             alert(jQuery.parseJSON(data).msg);
         }
    });

}

以上是前台的,接下去是后台的

@ResponseBody
    @RequestMapping(value = "/insert.do", method = RequestMethod.POST)    
    public  Map insertUsers(HttpServletRequest request, @RequestBody String users) throws Exception{
        users=URLDecoder.decode(users, "utf-8");
        ObjectMapper mapper = new ObjectMapper();  //这里用了jackson,自己看看代码,很简洁的
        JavaType javaType=mapper.getTypeFactory().constructParametricType(List.class,User.class);
        List<User> list = mapper.readValue(users, javaType);
        String msg=userService.insertUsers(list);
        Map map = new HashMap();

        map.put("msg", msg);

        return map;



    }   

然后,后台的效果截图如下
图片说明

传到后台的Controller的,数据显示如下
图片说明

然后,进一步调试,出现错误如下

图片说明

请问,这个错误到底是什么原因造成的。是500错误。请高手帮助啊!

4个回答

你的前台数据的结构是{"dcCode":"22","itemNo":"3456",...,"sectionName":"食品课"},{"dcCode":"22","itemNo":"3456",...,"sectionName":"食品课"},{"dcCode":"22","itemNo":"3456",...,"sectionName":"食品课"}吗?????还有一个问题是,你的方法注解是不是有点问题,貌似是@RequestMapping(value="",method=RequestMethod.POST) 其实这种错误,你可以F12把浏览器的调试模式调出来,然后查看前台传参封装的key-value是什么,然后后台springMVC才知道用什么样的方式去接受。

得到json后建议用jackson解析,现在只说思路

var jsonArr = [{"id":1,"name":"同学1"},{"id":2,"name":"同学2"}];
//下面是请求片段,因为$可能会被吃掉,所以用jQuery
jQuery.ajax({  
type:"POST",  
url:base +"/save",  
data:{"datalist":JSON.stringify(jsonArr)},  
dataType: "json",  
success:function (data){  

}
})

//接收片段
@RequestMapping(value = "/save", method = RequestMethod.POST)    
    public  void myDomain(HttpServletRequest request, @RequestBody String datalist) throws Exception{

        ObjectMapper objectMapper = new ObjectMapper();  //这里用了jackson,自己看看代码,很简洁的
        JavaType javaType = objectMapper.getTypeFactory().constructParametricType(List.class, Domain.class);  
        List<Domain> list = objectMapper.readValue(datalist, javaType);  

        System.out.println("");    
    }  

        //这是实体,属性对应json,用jackson解析方便
        public class Domain {
    private Long id;
        private String name;
        //getter and setter...
   }

u011126065
jasondyoung 错误原因是 not supported ...什么的吧,
3 年多之前 回复
FaradayZhangChina
FaradayZhangChina 你好,我觉得你写地有道理,但是,我在自己的环境里运行了你的后台解析代码,结果出现了一个报错,我不知道该如何联系你,请你留下QQ,我向你请教。谢谢
3 年多之前 回复

你用String values 接收 因为你传的是字符串 他是不会给你转成数组的,还有ajax 要设置 contentType: "application/json; charset=utf-8", 这是请求参数的类型。

qq_34155601
来啊快活啊 回复FaradayZhangChina: javaType 是什么 mybatis里面的那个?不懂 后端接收到字符串解析成对象就行了
3 年多之前 回复
qq_34155601
来啊快活啊 回复FaradayZhangChina: 接收到字符串 用json解析出来 字符串-->对象
3 年多之前 回复
FaradayZhangChina
FaradayZhangChina 你好,是的我传的是字符串,所以,我想用javaType转成集合,然后,传到后台,用jdbcTemplate进行操作。可以吗?
3 年多之前 回复
jQuery.ajax({  
type:"POST",  
url:base +"/save",  
data:JSON.stringify(jsonArr),  //注意看这是第一个修改的地方
dataType: "json",  
contentType:'application/json',//注意看这是第一个遗漏的地方
success:function (data){  

}
})


@RequestMapping(value = "/save", method = RequestMethod.POST)    
    public  void myDomain(HttpServletRequest request, @RequestBody List<Domain> datalist) throws Exception{
                    //第二处修改的地方在于参数,由于springmvc本身就有支持json格式数据的@RequestBody,可以自动转换成对应的实体
                    //所以上面做的事多此一举
                    System.out.println(datalist.size());   //你可以打印这里,按上面的例子这里是2,不可能是null. 
    }

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
springMVC后台传list转json到前台失报错

前台:$(document).ready(function(){ $.get("/gh/user/getDoc",function(data){ alert(data.length()); for(var i = 0;i < data.length();i++){ $("#cli_doc").append("<option value='"+data[i].id+"'>"+data[i].nickname+"</option>"); } }); }); ``` 后台@RequestMapping("getDoc") public @ResponseBody List<User> getDoc(){ List<User> docList = new ArrayList<User>(); try { docList = userService.getDoc(); } catch (Exception e) { e.printStackTrace(); } return docList; } ```

springmvc的controller接收json数据失败

报错415,贴代码 ![图片说明](https://img-ask.csdn.net/upload/201707/05/1499239492_703626.png) springmvc配置 ![图片说明](https://img-ask.csdn.net/upload/201707/05/1499239510_299772.png) 前台代码 ![图片说明](https://img-ask.csdn.net/upload/201707/05/1499239523_957014.png) 后台controller代码 ![图片说明](https://img-ask.csdn.net/upload/201707/05/1499239549_99271.png) 实体类 ![图片说明](https://img-ask.csdn.net/upload/201707/05/1499239561_86251.png) 使用的jar包 上网查过使用了很多方法都不行,根本进不去controller,去掉@RequesBody能进controller但是数据就接收不到了。项目需求是要接收实体类集合的,这个这是用来测试的新建了一个实体类,为了方便就定义了三个String类型的属性。

jquery ajax 向后台传 json 数组 出现 400 错误,后台用的springmvc

![图片说明](https://img-ask.csdn.net/upload/201504/24/1429834034_475063.png) ![图片说明](https://img-ask.csdn.net/upload/201504/24/1429834046_947714.png) ![图片说明](https://img-ask.csdn.net/upload/201504/24/1429834056_344561.png) ![图片说明](https://img-ask.csdn.net/upload/201504/24/1429834065_833491.png)

传到后台的json数据,如何让springmvc进行解析?

为了更好的说明问题,我把代码贴出来,如下 ``` function submit(){ debugger; var n=$("#countnumber").text(); var i=0; for(var a=0;a<n;a++){ var saveData=new Array(); var arr1=$('.item p').find('input:text'); var arr2=$('.item p').find('input:checkbox'); for(i=0;i<arr1.length;i++){ saveData.push((arr1).eq(i).val()); }; for(var j=0;j<arr2.length;j++){ saveData.push((arr2).eq(j).val()); }; }; function User(userId,userName,userPwd,memo,addDate,modifyDate,addUserId){ this.userId=saveData[1]; this.userName=saveData[2]; this.userPwd=saveData[3]; this.memo=saveData[4]; this.addDate=saveData[5]; this.modifyDate=saveData[6]; this.addUserId=saveData[7]; }; var user=new User(); var users=new Array(); users.push(user); $.ajax({ type: "post",//数据发送的方式(post 或者 get) url: "insert.do",//要发送的后台地址 data: {"user":JSON.stringify(users)}, dataType: "text",//后台处理后返回的数据格式 success:function (data){ alert(jQuery.parseJSON(data).msg); } }); } ``` ``` function submit(){ debugger; var n=$("#countnumber").text(); var i=0; for(var a=0;a<n;a++){ var saveData=new Array(); var arr1=$('.item p').find('input:text'); var arr2=$('.item p').find('input:checkbox'); for(i=0;i<arr1.length;i++){ saveData.push((arr1).eq(i).val()); }; for(var j=0;j<arr2.length;j++){ saveData.push((arr2).eq(j).val()); }; }; function User(userId,userName,userPwd,memo,addDate,modifyDate,addUserId){ this.userId=saveData[1]; this.userName=saveData[2]; this.userPwd=saveData[3]; this.memo=saveData[4]; this.addDate=saveData[5]; this.modifyDate=saveData[6]; this.addUserId=saveData[7]; }; var user=new User(); var users=new Array(); users.push(user); $.ajax({ type: "post",//数据发送的方式(post 或者 get) url: "insert.do",//要发送的后台地址 data: {"user":JSON.stringify(users)}, dataType: "text",//后台处理后返回的数据格式 success:function (data){ alert(jQuery.parseJSON(data).msg); } }); } ``` 以上是前台的,接下去是后台的 ``` @ResponseBody @RequestMapping(value = "/insert.do", method = RequestMethod.POST) public Map insertUsers(HttpServletRequest request, @RequestBody String users) throws Exception{ users=URLDecoder.decode(users, "utf-8"); ObjectMapper mapper = new ObjectMapper(); //这里用了jackson,自己看看代码,很简洁的 JavaType javaType=mapper.getTypeFactory().constructParametricType(List.class,User.class); List<User> list = mapper.readValue(users, javaType); String msg=userService.insertUsers(list); Map map = new HashMap(); map.put("msg", msg); return map; } ``` 然后,后台的效果截图如下 ![图片说明](https://img-ask.csdn.net/upload/201612/18/1482069725_74209.png) 传到后台的Controller的,数据显示如下 ![图片说明](https://img-ask.csdn.net/upload/201612/18/1482069673_84864.png) 然后,进一步调试,出现错误如下 ![图片说明](https://img-ask.csdn.net/upload/201612/18/1482069716_404734.png) 请问,这个错误到底是什么原因造成的。是500错误。请高手帮助啊!正确的方法是什么呢?

关于springmvc接受ajax传值的问题

## # # ![图片说明](https://img-ask.csdn.net/upload/201708/14/1502724628_20501.png) ![图片说明](https://img-ask.csdn.net/upload/201708/14/1502724658_47685.png) 请问如何将form表单里name为数组类型的值用ajax传值到Order模型;知道的朋友请尽量写一个可测试用例;谢谢各位的帮助

springmvc @requestbody 接收json字符串的原理

问题如上。贴出代码 @RequestMapping(value = "/sk/api/users", method = RequestMethod.POST) public void entitys(@RequestBody List<User> users, HttpServletRequest request, HttpServletResponse response) { System.out.println("获取到" + users.size() + "个用户"); for(User user : users){ System.out.println(user); } writeJson(response, "ok"); } 问怎么把通过ajax发出的json转换成List的,里面的逻辑是什么

$.ajax返回json数据格式不执行success回调函数

就是在最近的测试项目中发现了一个很奇怪的问题, 是这样的我用node.js搭建了一个本地服务器, 然后用$.ajax加载本地json, datatype返回的格式为text没问题, datatype返回的格式为json即报错 调试看status=200,readystate=4,还是直接跳入error回调 ![图片说明](https://img-ask.csdn.net/upload/201706/14/1497409587_650565.png) 这个是报错说明。 附上源码和json ![图片说明](https://img-ask.csdn.net/upload/201706/14/1497409630_448719.png) ![图片说明](https://img-ask.csdn.net/upload/201706/14/1497409654_339707.png) 图为最简单的json

有关SpringMVC传递参数的问题

前台通过`ajax`提交json格式数据,如下 ``` $.ajax( { url: "http://localhost:8090/lookup/getLookup", type: "POST", dataType: "json", data: JSON.stringify({"lookupId":28}), contentType: "application/json", success: function (data, textStatus, jqXHR) { alert(data.code) }, error: function (data, textStatus, jqXHR) { alert("ERROE"); } } ); ``` 这样请求的参数就是`{"lookupId":28}` 那么后台我是写的这样接收 ``` @ResponseBody @RequestMapping(value = {"getLookup"}) public TsLookupTypeHelper getLookupByLookupId(@RequestBody Integer lookupId) {} ``` 请求的时候会报错 400,请问要怎样在前台发送json数据,后台通过非javabean的参数(指的是 int string等基本类型)接受?

spingmvc与jquery ajax返回json

![图片说明](https://img-ask.csdn.net/upload/201705/05/1493947866_475921.jpg) ![图片说明](https://img-ask.csdn.net/upload/201705/05/1493947880_416091.jpg) 小弟初学springmvc,为什么我后台中控台能拿到msg,前台ajax里data.msg输出为空呢 springMVC与jquery ajax 返回数据json数据

Springmvc与ajax交互返回各种值问题

![前台js](https://img-ask.csdn.net/upload/201705/12/1494568472_597273.jpg) ![后台Controller](https://img-ask.csdn.net/upload/201705/12/1494568499_674996.jpg) 怎样才能拿到int n,用了好几种方法一直为null,我要用n来判断~~~~~~~~springmvc与ajax交互怎么这么复杂,Struts2好简单,想转springmvc,大神跟我说说返回值String,int,Json怎么返回啊

spring mvc前端传json,后端怎么直接对象获取

在项目中碰到问题了 就是我前端ajax传一个json过了, 我后端用在spring mvc 怎么直接用对象去接收?

dva的fetch请求如果是post类型,springmvc作为后台该如何接收并返回数据?

fetch请求如下(前段UI框架是antd): 1.导航栏上点击Uers按钮,跳转至/users ```javascript <Menu.Item key="/users"> <Link to="/users"><Icon type="bars" />Users</Link> </Menu.Item> ``` 2.路由跳转控制 ```javascript function RouterConfig({ history }) { return ( <Router history={history}> <Route path="/" component={IndexPage} /> <Route path="/users" component={Users} /> </Router> ); } ``` 3.上面的Users控件(component)如下 ```JavaScript function Users({ location }) { return ( <MainLayout location={location}> <div className={styles.normal}> <UsersComponent /> </div> </MainLayout> ); } ``` 4.最终地址会跳转到一个fetch方法中,该方法会调用yield call来执行一个请求,具体如下 ``` *fetch({ payload: { page = 1 } }, { call, put }) { const { data, headers } = yield call(usersService.fetch, { page }); yield put({ type: 'save', payload: { data, total: parseInt(headers['x-total-count'], 10), page: parseInt(page, 10), }, }); }, ``` 5.yield call方法里面的usersService.fetch方法如下(PAGESIZE目前是常量) ``` export function fetch({ page }) { return request('/api/user/userList', { method: 'POST', headers: { //'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', 'Content-Type': 'application/json', }, body: { _page: { page }, _limit: { PAGE_SIZE }, }, }); // return request(`/api/user/userList?_page=${page}&_limit=${PAGE_SIZE}`); } ``` 6.request.js ``` import fetch from 'dva/fetch'; function parseJSON(response) { return response.json(); } function checkStatus(response) { if (response.status >= 200 && response.status < 300) { return response; } const error = new Error(response.statusText); error.response = response; throw error; } export default async function request(url, options) { console.log(1232131); console.log(options); const response = await fetch(url, options); // .then(checkStatus); // checkStatus(response); // const data = await response.json(); const ret = { data, headers: {}, }; if (response.headers.get('x-total-count')) { ret.headers['x-total-count'] = response.headers.get('x-total-count'); } return ret; } ``` 7.后台springmvc接收数据的方法 ``` //7.后台springmvc接收数据的方法 @Controller @RequestMapping("/user") public class UserController { private static final Logger logger = LoggerFactory.getLogger(UserController.class); @Autowired private UserService userService; @RequestMapping(value = "/userList") //@ResponseBody public void userList(final HttpServletRequest request, ModelMap modelMap) throws Exception{ String page = request.getParameter("_page"); String limit = request.getParameter("_limit"); List<CustBaseInfo> users = userService.getUserList(new CustBaseInfoExample()); modelMap.put("data", users); } } ``` **备注: 1.如果fetch方法用的是GET请求,我把参数拼接在URL后面是没有问题的,后台可以接收到,但是这种情况下,后台如何将数据返回给dva框架,我现在是将返回结果users放在了modelmap当中,但前台还是获取不到数据 2.如果fetch是post请求,前台连数据都发不出,我是f12下看netWork就没有数据发送** ![post请求时,后台接受到的数据,为null](https://img-ask.csdn.net/upload/201704/16/1492309110_210835.png) ![前台发送请求](https://img-ask.csdn.net/upload/201704/16/1492309143_988102.png) ![前台发送请求](https://img-ask.csdn.net/upload/201704/16/1492309165_929215.png) ![响应数据没有](https://img-ask.csdn.net/upload/201704/16/1492309234_633478.png)

SpringMVC 接受Ajax传递参数为什么报400异常

ajax代码 ``` function delUserInfo() { jQuery.ajax({ type : 'POST', contentType : 'application/json', url : 'user/delUser', data : {'id':'12'}, dataType : 'json', success : function(data) { alert("删除成功!"); }, error : function(data) { alert("error") } }); } ``` 后台代码 ``` @RequestMapping(value = "/delUser", method = RequestMethod.POST) @ResponseBody public Map<String, String> delUser(@RequestParam(value="id", required=true) String id) { logger.info("捕获到前台传递过来的id:" + id); UserInfo tmpUserInfo = new UserInfo(); tmpUserInfo.setId(Integer.parseInt(id)); userManage.deleteUser(tmpUserInfo); Map<String, String> map = new HashMap<String, String>(1); map.put("success", "true"); return map; } ```

SpringMVC+JQuery ajax 总会跳转到一个输出返回值json页面

``` 前台代码 <script type="text/javascript"> function saveShopping(){ var tsid =[] $("input[name='tsid']:checked").each(function(){ tsid.push($(this).val()); if(tsid.length==0){ alert("你没有选择任何图书"); } }); alert(tsid); var url ="${pageContext.request.contextPath}/savaShopping?tsid="+tsid; if(tsid!=null){ alert(url); $.ajax({ url:url, type:"post", dataType:"json", async:false, beforeSend:function(data){ alert("发送成功"); }, success:function(data){ alert(data.msg); }, error:function(){ alert("出现错误"); } } ); }else{ alert("请选择购买的书籍") } } </script> 后台controler //放入购物车 @RequestMapping(value="savaShopping") @ResponseBody public Map saveShopping(@RequestParam String[] tsid){ for (int i = 0; i < tsid.length; i++) { long date1 = new Date().getTime(); BC_shopping shopping = new BC_shopping(); shopping.setS_date(date1); shopping.setS_num(1); shopping.setS_b_id(Integer.parseInt(tsid[i])); shoppingService.insertShopping(shopping); } Map<String, String> map = new HashMap<String, String>(); map.put("msg", "加入购物车成功"); return map; } 配置文件 <!-- 使spring扫描包下的所有类,让标注spring注解的类生效 --> <context:component-scan base-package="com.bk"/> <mvc:annotation-driven></mvc:annotation-driven> <!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pages/"/> <property name="suffix" value=".jsp"/> </bean> <!-- 访问静态资源 --> <mvc:resources location="/css/" mapping="/css/**"></mvc:resources> <mvc:resources location="/images/" mapping="/images/**"></mvc:resources> <mvc:resources location="/js/" mapping="/js/**"></mvc:resources> <!-- 完成请求和注解POJO的映射 --> <!--springmvc 3.1之前的配置 --> <!-- <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="jsonConverter"/> </list> </property> </bean> --> <!--springmvc 3.1之后的配置 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" p:ignoreDefaultModelOnRedirect="true" > <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/> </list> </property> </bean> ajax能 success 能接受到 返回的map之后 就跳转到下面的页面 图片上传不成功:就是在页面展示出map的json格式,就是在页面有一句 {"msg":"加入购物车成功"}

jsp页面 如何接收并且展示 $.ajax 获取的json数组 求大神解决

项目采用springmvc mybatis框架 mysql数据库 1、这是js部分 ![图片说明](https://img-ask.csdn.net/upload/201607/06/1467796499_572857.png) 2、这个是控制器部分 ![图片说明](https://img-ask.csdn.net/upload/201607/06/1467796550_18609.png) 3、这是jsp页面部分 ![图片说明](https://img-ask.csdn.net/upload/201607/06/1467796539_798182.png) 4、这是json解析后的数据 ![图片说明](https://img-ask.csdn.net/upload/201607/06/1467796570_99176.png) 5、后台页面穴位 这块显示的都是[object,object] ![图片说明](https://img-ask.csdn.net/upload/201607/06/1467796859_497964.png) 最终的前台页面 要实现这样的效果 ![图片说明](https://img-ask.csdn.net/upload/201607/06/1467798544_540822.png) 这是参考网友的代码 test ul,li{list-style:none;} #nav li{display:inline-block;margin:0 5px;background:#ccc;padding:0 10px; line-height:24px;font-size:12px;} #nav li.h_nav_over{background:red;color:#fff;} #nav li.h_nav_over a{color:#fff;} a{text-decoration:none;} $(function(){ var arr =[{"name":"心","id":"1"},{"name":"肝","id":"2"},{"name":"脑袋","id":"3"},{"name":"屁股","id":"4"}]; var arrStr =""; var retStr =""; $.each(arr, function(i, item) { arrStr += '<li id='+arr[i].id+'><a href="#" >'+arr[i].name+'</a></li><li>'; }); $('#xueweiList').append(arrStr); $("#nav>ul>li").click(function(){ if(this.className=='h_nav_over'){ $(this).removeClass("h_nav_over"); var xueweis = retStr.split(','); remove(retStr,this.id); }else{ $(this).addClass("h_nav_over"); retStr += this.id+','; } $("#xueweis").val(retStr); alert($("#xueweis").val()); }); }); function indexOf(arr,val) { for (var i = 0; i < arr.length; i++) { if (arr[i] == val) return i; } return -1; }; function remove(arr,val) { var index = indexOf(arr,val); if (index > -1) { arr.splice(index, 1); } }; 效果:![图片说明](https://img-ask.csdn.net/upload/201607/12/1468287722_808949.png) 现在缺少body部分的代码 改怎么对应呀

数据可视化开发(springmvc+echarts)

用SpringMVC+Echarts模式开发,请有经验的介绍一下,能有个案例的话,不胜感激,谢谢,前端用JSP照片,想在dao层实例化option方式呈现,ajax后台调用js实现已经初步完成,还有就是希望有好的可视化建议,望提出,谢谢,

SpringMVC3.2 无法接收json参数

环境:SpingMVC3.2+jQuery。 问题:方法能访问到。 1)在ajax中使用contentType : "application/json"时,controller无法获取参数。 2)在ajax中不使用contentType时,controller能获取参数,但是会报错,因为参数中含有list,去掉list可以正常访问。 JS方法片段: ``` $.ajax({ contentType : "application/json", url : systemWebUrl + "/pi/savePIDetail.do", type : "post", dataType : "json", //data : {"articleVO":JSON.stringify(formData)}, data : formData,//JSON.stringify(formData), success : function(data){ console.log(data); } }); ``` 其中传入后台的参数formData数据类似: ``` {"nodeId":"8","title":"abc","isOriginal":"1","keywords":"abc","summary":"abc","coverResourceId":"","contents":[{"type":"1","content":"asdf"},{"type":"1","content":"wqer"}]} ``` Controller代码片段: ``` @RequestMapping("/savePIDetail") @ResponseBody public String savePIDetail(ArticleVO articleVO){ ModelMap map = new ModelMap(); ArticleVO article = new ArticleVO(); //ArticleVO article = JSON.parseObject(articleVO,ArticleVO.class); map.put("msg", articleVO); return JSON.toJSONString(map); } ``` 参数ArticleVO片段: ``` ………… /** * 是否原创 */ private Boolean isOriginal; /** * 摘要 */ private String summary; /** * 内容列表 */ private List<ArticleContentVO> contents; getter/setter ``` mvc.xml配置片段: ``` <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <ref bean="fastJsonHttpMessageConverter"/> </mvc:message-converters> </mvc:annotation-driven> <bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> <value>text/plain;charset=UTF-8</value> </list> </property> </bean> ``` 我觉得上面这段配置返回时才用得到。 ajax中不使用contentType时,并且参数有list,后台报错内容片段: ``` org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'contents[0][content]' of bean class [com.xxx.admin.vo.ArticleVO]: Property referenced in indexed property path 'contents[0][content]' is neither an array nor a List nor a Map; returned value was [asdf] ``` 折腾了几天了,没找到原因,使用字符串传到后台,然后JSON.parseObject()也能使用,但是总觉得不该是这样的,请大家帮忙看下原因,如果问题没有描述清楚的,请提出来,我再改,谢谢了。

SpringMVC 进入页面Ajax自动提交,但是为什么modelAndView返回该页的时候,在页面取不到后台的值呢?

# 前台Ajax ``` <script type="text/javascript"> $(function(){ alert("查询信息"); var para ={userName:'lxw'}; var url = root + "/lxwempAjax/lxwOptionalStock"; $.ajax({ type:"POST", url:url, data:para, datatype:'json', success:function(result){ alert('提交成功'+para.userName); }, error:function(result){ alert('提交失败'+para.userName); } }); alert("执行完成"); }) </script> ``` <label>${resquestScope.res[0].StockName }44444444</label> ``` ``` # 后台: ``` @RequestMapping(value="/lxwOptionalStock") public ModelAndView getOptionalStock(Page page){ ModelAndView mv=new ModelAndView(); PageData pd = new PageData(); List<PageData> res = new ArrayList<PageData>(); boolean result = false; try { pd=this.getPageData(); System.out.println(pd.toString()+"c"); res = this.lxwstockexchangefacade.selectOptionalStock(pd); result = true; } catch (Exception e) { // TODO: handle exception logger.error(e); e.printStackTrace(); } mv.addObject("res", res); System.out.println(res.toString()); mv.addObject("result", result); mv.setViewName("lxw/personCenter"); return mv; } ``` <label>${res[0].StockName }44444444</label>页面里面只有4444 困扰了好长时间了,求解!! 新更: .. ``` <label>${res[0].StockName }</label> ${requestScope.name } ${result } <div class="Top_div"> <a class="top_a1" >个人中心</a> <a class="top_a2" href="../lxl/login">退出</a> </div> ``` 就是这样 在F12浏览器调试那里 respon里面可以值出来,但是就是没法在页面显示

spring MVC Ajax JSON

需求如下: 某个页面有个小表单,点击按钮提交表单信息,同时页面部分刷新根据表单信息产生数据显示在页面上 请问,控制器经过后台处理得到一组数据是怎么返回到页面上的?逻辑是什么?

linux下利用/proc进行进程树的打印

在linux下利用c语言实现的进程树的打印,主要通过/proc下的目录中的进程文件,获取status中的进程信息内容,然后利用递归实现进程树的打印

设计模式(JAVA语言实现)--20种设计模式附带源码

课程亮点: 课程培训详细的笔记以及实例代码,让学员开始掌握设计模式知识点 课程内容: 工厂模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、原型模型、代理模式、单例模式、适配器模式 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式 课程特色: 笔记设计模式,用笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 笔记以超链接形式让知识点关联起来,形式知识体系 采用先概念后实例再应用方式,知识点深入浅出 提供授课内容笔记作为课后复习以及工作备查工具 部分图表(电脑PC端查看):

Python数据分析与挖掘

92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元 &nbsp; 为什么学习数据分析? &nbsp; &nbsp; &nbsp; 人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。 &nbsp; &nbsp; &nbsp; 从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。 &nbsp;&nbsp; 本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。 &nbsp; 二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 &nbsp; 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。 &nbsp; 四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。 &nbsp; 五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

广工操作系统课程设计(文档+代码+可执行文件)

实现作业调度(先来先服务)、进程调度功能(时间片轮转) 实现内存管理功能(连续分配)。 实现文件系统功能(选作) 这些功能要有机地连接起来

Only老K说-爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

linux“开发工具三剑客”速成攻略

工欲善其事,必先利其器。Vim+Git+Makefile是Linux环境下嵌入式开发常用的工具。本专题主要面向初次接触Linux的新手,熟练掌握工作中常用的工具,在以后的学习和工作中提高效率。

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

Python数据清洗实战入门

本次课程主要以真实的电商数据为基础,通过Python详细的介绍了数据分析中的数据清洗阶段各种技巧和方法。

2019 Python开发者日-培训

本次活动将秉承“只讲技术,拒绝空谈”的理念,邀请十余位身处一线的Python技术专家,重点围绕Web开发、自动化运维、数据分析、人工智能等技术模块,分享真实生产环境中使用Python应对IT挑战的真知灼见。此外,针对不同层次的开发者,大会还安排了深度培训实操环节,为开发者们带来更多深度实战的机会。

apache-jmeter-5.1.1(Requires Java 8+).zip

。Apache JMeter 5.1.1 (Requires Java 8+),需要jdk8以上的版本。

数通HCNP中文理论全套教材.rar

内涵HCNP-IENP中文理论书-内文,

Python可以这样学(第四季:数据分析与科学计算可视化)

董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

C/C++学习指南全套教程

C/C++学习的全套教程,从基本语法,基本原理,到界面开发、网络开发、Linux开发、安全算法,应用尽用。由毕业于清华大学的业内人士执课,为C/C++编程爱好者的教程。

微信公众平台开发入门

本套课程的设计完全是为初学者量身打造,课程内容由浅入深,课程讲解通俗易懂,代码实现简洁清晰。通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有什么特点,它能做什么,怎么开发公众号。 其次,通过本课程的学习,学员能够掌握微信公众平台开发的方法、技术和应用实现。例如,开发者文档怎么看,开发环境怎么搭建,基本的消息交互如何实现,常用的方法技巧有哪些,真实应用怎么开发。

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

2021考研数学张宇基础30讲.pdf

张宇:博士,全国著名考研数学辅导专家,教育部“国家精品课程建设骨干教师”,全国畅销书《张宇高等数学18讲》《张宇线性代数9讲》《张宇概率论与数理统计9讲》《张宇考研数学题源探析经典1000题》《张宇考

专为程序员设计的数学课

<p> 限时福利限时福利,<span>15000+程序员的选择!</span> </p> <p> 购课后添加学习助手(微信号:csdn590),按提示消息领取编程大礼包!并获取讲师答疑服务! </p> <p> <br> </p> <p> 套餐中一共包含5门程序员必学的数学课程(共47讲) </p> <p> 课程1:《零基础入门微积分》 </p> <p> 课程2:《数理统计与概率论》 </p> <p> 课程3:《代码学习线性代数》 </p> <p> 课程4:《数据处理的最优化》 </p> <p> 课程5:《马尔可夫随机过程》 </p> <p> <br> </p> <p> 哪些人适合学习这门课程? </p> <p> 1)大学生,平时只学习了数学理论,并未接触如何应用数学解决编程问题; </p> <p> 2)对算法、数据结构掌握程度薄弱的人,数学可以让你更好的理解算法、数据结构原理及应用; </p> <p> 3)看不懂大牛代码设计思想的人,因为所有的程序设计底层逻辑都是数学; </p> <p> 4)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; </p> <p> 5)想修炼更好的编程内功,在遇到问题时可以灵活的应用数学思维解决问题。 </p> <p> <br> </p> <p> 在这门「专为程序员设计的数学课」系列课中,我们保证你能收获到这些:<br> <br> <span> </span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">①价值300元编程课程大礼包</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">②应用数学优化代码的实操方法</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">③数学理论在编程实战中的应用</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">④程序员必学的5大数学知识</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">⑤人工智能领域必修数学课</span> </p> <p> <br> 备注:此课程只讲程序员所需要的数学,即使你数学基础薄弱,也能听懂,只需要初中的数学知识就足矣。<br> <br> 如何听课? </p> <p> 1、登录CSDN学院 APP 在我的课程中进行学习; </p> <p> 2、登录CSDN学院官网。 </p> <p> <br> </p> <p> 购课后如何领取免费赠送的编程大礼包和加入答疑群? </p> <p> 购课后,添加助教微信:<span> csdn590</span>,按提示领取编程大礼包,或观看付费视频的第一节内容扫码进群答疑交流! </p> <p> <img src="https://img-bss.csdn.net/201912251155398753.jpg" alt=""> </p>

DDR5_Draft_Spec_Rev05c.pdf

DDR5 spec

Java面试史上最全的JAVA专业术语面试100问 (前1-50)

前言: 说在前面, 面试题是根据一些朋友去面试提供的,再就是从网上整理了一些。 先更新50道,下一波吧后面的也更出来。 求赞求关注!! 废话也不多说,现在就来看看有哪些面试题 1、面向对象的特点有哪些? 抽象、继承、封装、多态。 2、接口和抽象类有什么联系和区别? 3、重载和重写有什么区别? 4、java有哪些基本数据类型? 5、数组有没有length()方法?String有没有length()方法? 数组没有length()方法,它有length属性。 String有length()方法。 集合求长度用

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

Python界面版学生管理系统

前不久上传了一个控制台版本的学生管理系统,这个是Python界面版学生管理系统,这个是使用pycharm开发的一个有界面的学生管理系统,基本的增删改查,里面又演示视频和完整代码,有需要的伙伴可以自行下

2019数学建模A题高压油管的压力控制 省一论文即代码

2019数学建模A题高压油管的压力控制省一完整论文即详细C++和Matlab代码,希望对同学们有所帮助

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

相关热词 c#中如何设置提交按钮 c#帮助怎么用 c# 读取合并单元格的值 c#带阻程序 c# 替换span内容 c# rpc c#控制台点阵字输出 c#do while循环 c#调用dll多线程 c#找出两个集合不同的
立即提问