写到分页的功能,在传递页码pageNo的时候遇到了参数接收不正确的问题,我本来在action中是定义了一个pageNo字符串参数和一个Page类参数,Page是一个封装了页面要显示的数据集合和页面信息如页码,总页数得等信息类,自然也包括pageNo,所以我想着既然Page类中有是不是就没有必要在单独声明pageNo参数了呢?事实证明是不行的,我通过链接给action传递参数XxxAction_toXxxListPage?pageNo=1,结果到action中接收到的参数一直都是0,我本以为pageNo会自动赋值到Page中呢,原来是不行的,除非实现了ModelDriven,这样会自动将参数复制到model中的同名参数中去,若没有则不赋值。
后来我发现可以通过类名加属性的方式来赋值,如XxxAction_Xxx?page.pageNo=1,但是有个问题是必须第二次请求的时候才能赋值成功,不知道为什么第一次不行。
所以如果参数不是model中的属性的时候,最好在action中单独定义此属性。