实战分页功能及分析2-设计分析

优点:
个人认为这个分页功能的特点或者说优点是利用了自定义标签。
这样就可以把一些属性封装起来,比如:要提交的action,分页对象等,可以通过自定义标签类承载数据,在jsp和action(或者其他控制类)之间传递,在很大程度上保持了jsp页面代码的简洁。

 

缺点:
个人认为缺点恰恰也是这个自定义标签的实现。

1.如果需要传递pageinfo和action之外的参数怎么办?
可能有人会觉得可以在PaginationTag增加相应的属性不就可以了吗?其实不然:


最主要的限制在这里:<pagination:page pageinfo="<%=pageinfo%>" action="userBaseInfoQuery.do" />

如果想在.do后面添加其他的参数,这个标签类是不支持<%=%>这种形式的。而java web开发中,参数从action到jsp再到其他action,这种情况是很常见的,这就造成了jsp中有些参数很难传递到action中去。当然,可以采用其他折中的方式传递:在这个场景下,可以通过在PaginationTag增加相应的属性来处理。

 

2.利用这里的自定义标签类PaginationTag,能实现多大程度上的代码复用?
窃以为这个自定义分页类的可复用程度比较低。自定义标签类的主要优势应该在代码封装和复用上,但是这个标签类并不能在很大程度上满足这个需要。


为什么这么说呢?因为不同的页面要传递的其他参数(PaginationTag中定义的属性之外的参数)在数目上有可能是很不同的,在PaginationTag中要照顾到这方方面面是非常困难的,是比较难实现的,即使能实现,也可能要花很长的时间,对于这样一个较简单的功能而言,花费这些时间是否值得


结论:

在当前的场景下,个人认为采用自定义标签的方式并不合适。推荐做法:

1.需要出传递到action中的多个参数放到form中,通过javacript将form中的数据传递到控制类中。

2.将“上一页”,“下一页”,“首页”,“末页”直接写到jsp中。

你可能感兴趣的:(java,jsp,Web,分页)