江湖救急,遇到一个问题,表单提交传递String后台能接受,传递对象后台不能接受显示null

yaodi1993 2018-06-04 09:29:01
表单提交传递String后台能接受,传递对象后台不能接受显示null
...全文
442 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
前后台交互 能直接传对象吗,一般不都是先转成json字符串再传递吗?
ITjavaman 2018-06-04
  • 打赏
  • 举报
回复

wdutil.submit({
                url:'${pageContext.request.contextPath}/test/getfpkj',
                data:JSON.stringify({fpxx:o}),
                success:function(result){
                    alert("result"+result);
                }
            });
你用这样去请求然后后台用下面接收看看有没有值 public String getfpkj(String fpxx){}; 如果有,你再对这个fpxx的字符串对象进行解析就行了
ITjavaman 2018-06-04
  • 打赏
  • 举报
回复
如果是json数据,先看一下你前端Content-Type是否设置application/json;,然后后台是否有对json字符串进行解析吧
ITjavaman 2018-06-04
  • 打赏
  • 举报
回复
你的意思是你传递String然后后台用String去接能够接收,然后还是传递相同的String后台想用实体对象去接收就接收为null?
ITjavaman 2018-06-04
  • 打赏
  • 举报
回复
引用 6 楼 ITjavaman 的回复:

wdutil.submit({
                url:'${pageContext.request.contextPath}/test/getfpkj',
                data:JSON.stringify({fpxx:o}),
                success:function(result){
                    alert("result"+result);
                }
            });
你用这样去请求然后后台用下面接收看看有没有值 public String getfpkj(String fpxx){}; 如果有,你再对这个fpxx的字符串对象进行解析就行了
contentType:"application/json;charset=UTF-8",前台加上这条
yaodi1993 2018-06-04
  • 打赏
  • 举报
回复
wdutil.submit({
    			url:'${pageContext.request.contextPath}/test/getfpkj',
    			data:{fpxx:o},
    			success:function(result){
    				alert("result"+result);
    			}
    		});
这是公司封装的方法,如果传递一个String的字符串,后台可以接受,若传递对象就不能 这是后台:public String getfpkj(FpkjxxVo fpxx) { System.out.println(fpxx);}
yaodi1993 2018-06-04
  • 打赏
  • 举报
回复
不是,是如果只传递String,比如这样:
wdutil.submit({
                url:'${pageContext.request.contextPath}/test/getfpkj',
                data:{id:id},
                success:function(result){
                    alert("result"+result);
                }
            });
后台用public String getfpkj(String id) {};能接受,但如果前端:
wdutil.submit({
                url:'${pageContext.request.contextPath}/test/getfpkj',
                data:{fpxx:o},
                success:function(result){
                    alert("result"+result);
                }
            });
传对象public String getfpkj(FpkjxxVo fpxx){};,就不行
ITjavaman 2018-06-04
  • 打赏
  • 举报
回复
怎么传的贴代码,不然情况太多
yaodi1993 2018-06-04
  • 打赏
  • 举报
回复
感谢,已经解决了,实体类中基本数据类型要用引用类型,而且公司内部有个实现,才能转换。但是你给我讲的也很有用,感谢!

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧