jqgrid学习过程问题记录

来源:互联网 发布:nginx 判断请求参数 编辑:程序博客网 时间:2024/05/22 02:01

2014-10-30

1.因为红字部分路径出错问题不显示表格

$(document).ready(function(){        jQuery("#jsonmap").jqGrid({             url:"/JqGrid/JqGridExample.action",        //url:WEB_PATH+'/excludes/post.jsp',         datatype: 'json',          colNames:['编号','姓名','密码','年龄','地址','出生日期'],         colModel:[             {name:'id',index:'id', width:90,sorttype:"int"},             {name:'username',index:'name', width:110,sorttype:"int"},            {name:'password',index:'password', width:80},             {name:'age',index:'age', width:80},               {name:'address',index:'address', width:80},              {name:'time',index:'time', width:80,sorttype:"date"}            ],                    <strong><span style="color:#ff0000;">imgpath: WEB_PATH+'/resources/javascript/plugins/jqgrid/css/smoothness/images',</span></strong>           rowNum:10,       rowList:[10,20,30],       pager: "pjmap",                     multiselect: false,          sortname: 'id',           viewrecords: true,           sortorder: "desc",           jsonReader: {           root: "dataRows",           repeatitems : false          },          caption: "jqGrid test",          height: 220         }).navGrid('pjmap',                   {view:true,edit:true,add:false,del:false},                   {closeOnEscape:true}       );                  });   



2。JSP页面中JqGrid表格无法读出page值

原因是:在Ation里面,有跟page的getter重名的方法,我对自己无语了。

教训:再一次教训我,编码差错要细心,出出错的地方找到源头,再纠正,细心细心细心!!!


2014-11-11

3.

错误:[org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl]HHH000010: On release of batch it still contained JDBC statements

网上找到的解释:这样的异常.它没有具体的异常原因.后来测试发现,是在一对一主健关联中,当副表中没有记录时(只有主表有记录),使用SaveOrUpdate就报这个错,而只用save()方法就正确.无语.记录一下以便以后再次遇到.这次可花了很长时间来找问题.     静下来思考了一下,一对一关联中,SaveOrUpdate会两个表都添加,或者两个表都修改,不能一个修改,一个添加之类的.现在我也只有这解释了.呵呵


解决方法:使用save()方法


总结:但是我只是对一个表的操作,没有什么键关联,然后改用save()保存之后可以了,但是现在我又用会saveOrUpdata又行了,具体原因应该就不是上面的问题了,还没找到具体原因。


4.

错误:unknown entity:com.Employee

原因:因为entity是用hibernate逆向生成到com包中,所以dao中有地方引用到的是com.employee,而我将entity移到了别的包中方便管理,导致了这个错误。

总结:逆向生成的entity、dao,因为代码是自动生成的,所以多他们作移动或者改名等等操作要坚持里面代码是否需要一并修改。


5.

错误:The database returned no natively generated identity value

我的情况:能查、改,不能插,删除还没试,不知道能不能删。

网上找到的解释:

症状:可以select,update和delete,不能insert,insert就报上面这个错,id的生成有问题。

到网上搜索解决方法,都是说这是数据库中表的id没有设置自增引起的。可是我的数据库中表的id都设置了自增,为何也报这个错误呢?

跟踪代码发现Hibernate从insert语句的PreparedStatement.getGeneratedKeys()方法返回的ResultSet中获取生成的id,但没有获取到,报了这么个错误。


解决方法:设置主键id自动增长


教训:找错误不能一味的以为自己语法什么的写错了,一味只翻WIKI和文档,还要肯页面的报错,debug,还有就是调试程序,这样才能找到原因。


2014-11-12


6.

问题:使用JqGrid默认的删除操作(editurl指定处理操作后台处理的地址),以下是处理代码:

public String updateEmployee() {employee.setId(id);employee.setName(name);employee.setTeamId(teamId);employee.setDuty(duty);employee.setHours(hours);employee.setPay(pay);if(oper.equalsIgnoreCase("del")){employeeservice.delEmployee(employee);}else {employeeservice.updataEmployee(employee);}return "success";}

之前代码中没有设置oper数值只有udataEmployee方法,所以删除的时候也是当更新来操作,加上oper之后可以根据oper来判断操作,可取值del|add|edit 。


重点:

url是获得数据的地址

editurl是处理数据的地址、删除更新插入都是发送到此地址操作,通过oper判断操作

但是我不知道我处理的数据是怎么样发送到后台的,一个entiy还是单个值单个值的上传上服务器,目前来看应该是单个值了,批量删除又是怎么做到的?

0 0
原创粉丝点击