spring controller接口中,用pojo对象接收页面传递的参数,发现spring在对pojo对象赋值时,有一定顺序的问题
1、我的项目中的实体类都继承了基类entityBase,里面封装了分页的一些属性,pageindex、pagesize、pagerownum等。
2、思路是页面可以灵活的传递分页参数,比如当前页pageindex=1、每页总数pagesize=6等灵活请求数据。然后可以根据当前页pageindex的赋值,来自动的计算出
mysql的分页 limit pagerownum,pagesize中,从第几行开始pagerownum的值。
3、问题就出在这里,我的接口是用pojo对象来接收页面传递的参数的,页面每次传参的话,spring都会先对pageindex属性进行赋值,
pagesize参数在其后面才会赋值,这样就导致了indexrownum(从第几条开始)的值是错误的,
4、打比方接口传递了参数为:"xxxx?pageindex=2&pagesize=4",那么在pageindex属性会被最先赋值的情况下,pagesize的初始值是10,那么
在后,indexrownum的值就是10了。
而不是理想中的从第8条开始。最后才会对pagesize进行赋值,而这时候indexrownum的值已经赋值完成了。
解决办法就是在setIndexsize()方法里也同样的来对indexrownum赋值一遍。这样就保证了无论spring是先对pageindex赋值,还是pagesize,最后
都可以达到想要的正确分页开始条数indexrownum