新增、编辑功能实现错误记录...

做新增和编辑的功能,$.ajax提交表单,如果id为空走新增,不为空走编辑

controller层接收参数。(Long id)

一开始的时候,js里面的逻辑是,新增和编辑按钮点击后进入不同的方法,如果是新增的话,发送ajax请求的话就传{id:0;name:name;country:country},编辑的话就传{id:id;name:name;country:country}。

后来有人优化我的js代码,采用$("#addForm").serialize()的方式(前提是引入了bootstrap的东西,而且每个输入框都要有name)的方式,不管有没有id,都发一次这样的请求。

于是后台报错了...具体的错误我已经忘记,但是据说是找不到对应的参数。

然后,他开始检查我的controller代码,新增的方法,发现我的参数都是(long id,String name,String country ..)马上帮我加了注解@RequestParam(value = "id",required = false) long id..

之后,还是不对..因为long不是封装类型,如果数据为空的时候,发送请求的话就会出现下面的情况==

额,如果改成Long类型的话请求就可以匹配上。

这是最坑的地方,要用封装类型不能用基本类型传递参数!!!

然后,又是我熟悉的空指针异常:

controller层方法:if(id==0){....}下面的错误:

额,笔记记起来:

当应用程序试图在需要对象的地方使用 null 时,抛出该异常。这种情况包括:
1、调用 null 对象的实例方法。
2、访问或修改 null 对象的字段。
3、将 null 作为一个数组,获得其长度。
4、将 null 作为一个数组,访问或修改其时间片。
5、将 null 作为 Throwable 值抛出。

改成(id==null)就好。不过,他说id最好不要传long类型的东西。

id的话,最好用String ,至于编辑的时候就转换下数据类型就好。判断为空的方法:StringUtils.isEmpty(id)

然后该if就if,该else就else...终于就不报错了。

时间: 2024-11-05 20:44:40

新增、编辑功能实现错误记录...的相关文章

atitit.新增编辑功能 跟orm的实现 attilax p31

atitit.新增编辑功能 跟orm的实现 attilax p31 1. 流程的实现 1 2. view的实现(dwr) 1 3. 获取表结构 1 4. grep filt req params 2 5. 转换成个atiorm map 3 6. 转换成个sql 4 7. 参考 4 1. 流程的实现 传统的orm的问题::不能动态insert...  myeclipse到是容易的...要是eclispe走麻烦的兰... 在说,cant 动态添加字段,要同步修改domain文件... 所以,atio

Editable DataGrid 实现列表新增编辑功能

今天在开发一个功能时候,需要直接在列表实现新增.编辑等功能.于是查看easyui 相关文档,找到相关解决办法. easyui的datagrid支持可编辑功能.它使用户能够向数据网格中添加一个新行.用户也可以更新一个或多个行. 下面是我在项目中的实现代码: 第一步:引用 easyui.css jquery-1.8.1.min.js jquery.easyui.min.js 第二步:Html和Javascript代码 <h2>Editable DataGrid Demo</h2> &l

subGrid实现内外datagrid都可编辑功能

前一篇文章介绍了如何创建一个拥有subGrid的datagrid,不过仅仅是展示数据,并未涉及到编辑 那么,若是需要subGrid实现可编辑功能该怎么做呢? 要解决这个问题首先得有一个清晰的思路和明确的目标,到底需要将subGrid打造成怎么样呢? 还是用一个具体的例子来说明问题,就拿最近在做的项目来看吧,有一个需求是这样的: 1.显示所有派去维修的记录(一人一条),且每条记录有一些费用数据 2.每条派工记录中有详细的耗材记录 3.耗材要有添加修改删除的功能 这其实就是典型的"一条记录头,下面多

开发错误记录8:Unable?to?instantiate?application?com

开发错误记录8:Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication 这是因为在Android Studio2 新的即时运行功能 导致的,因为,这个功能只在更改布局文件时不用重新编译! 把这个功能关闭即可! 在Android 6.0的新增了权限管理机制,所以在调用相应的权限,要重新申请,在6.0以下的版本,不存在,否则在操作相机,联系人,打电话等,会报如下的错误 :(网上有很多封装好

Asp.Net MVC +EntityFramework主从表新增编辑操作的实现(删除操作怎么实现?)

Asp.Net MVC +EntityFramework主从表新增编辑操作的实现 对于MVC中同时对主从表的表单操作在网上现有的解决很少,而这样的操作在做业务系统中是经常为遇到的.我在网上搜索了很久都没有发现很完整的实例或非常好的解决方案,所以我很想和大家讨论一下又什么更好的解决方案. 一旦有更好的方式我会把它集成到模板中实现自动生成.所以很希望得到大家的帮助.在这里我先抛砖引玉了. Demo代码在 https://github.com/neozhu/MVC5-Scaffolder 下载 先看一

Dynamics 365 for CRM: Sitemap站点图的可视化编辑功能

Dynamics 365 for CRM 提供了Sitemap站点图的可视化编辑功能 在之前的所有版本中,我们只能通过从系统中导出站点图的XML进行编辑后再导入(容易出错),或使用第三方的Sitemap编辑工具进行编辑(非常方便). 在Dynamics 365 for CRM 中原生地提供了站点图的可视化编辑功能,非常强大方便: 1.在默认解决方案或自定义解决方案的"客户端扩展"中,找到"站点地图"记录:如果没有则需要点击"添加现成",添加&qu

[转]错误记录

题目:简单错误记录 题目描述: 开发一个简单的错误记录功能模块,能够记录出错的代码所在的文件名称和行号. 处理: 1.记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条错误,错误计数增加: 2.超过16个字符的文件名称,只记录文件的最后有效16个字符: 3.输入的文件可能带路径,记录文件名称不能带路径 输入描述: 一行或多行字符串.每行包括带路径文件名称,行号,以空格隔开. 文件路径为windows格式 如:E:\V1R2\product\fpgadrive.

[编程题] 简单错误记录

开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加:(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符:(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并)3.输入的文件可能带路径,记录文件名称不能带路径 输入描述: 一行或多行字符串.每行包括带路径文件名称,行号,以空格隔开. 文件路径为window

27:简单错误记录SimpleErrorLog

题目描述 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理: 1. 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加: 2. 超过16个字符的文件名称,只记录文件的最后有效16个字符: 3. 输入的文件可能带路径,记录文件名称不能带路径. 输入描述:一行或多行字符串.每行包括带路径文件名称,行号,以空格隔开. 输出描述:将所有的记录统计并将结果输出,格式:文件名 代码行数 数目,一个空格隔开,如: 输入例子: E: