【问题】
图中红框圈起来的部分,分页显示重复了,显示了两次的分页标签。这里确实是写了两遍一样的内容,但是是有判断的,应该只会显示一个才对。
【分析】
在jsp页面 taglib 标签是这样使用的:(应该只会显示其中的一个,不会两个都显示)
菜单栏提交的请求url相同,参数不同,所以后台要么是cid有值,要么是csid有值,不可能两个都会有值。
后台java类文件,对比发现,一个使用的是引用类型,一个使用的是值类型。 所以说“cid”不赋初值的话是null,“csid”不赋初值是 0
【解决办法】
(1)第一种,将后台.java类文件的csid类型修改成“Integer”
(2)第二种,在前台jsp页面修改标签判断的条件为 text = “csid != 0”
【总结】
(1)Integer是int的包装类
(2)Integer是引用类型,未赋值的话是“null”
(3)int是值类型,未赋值的话是“0”
int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。
| 原始类型 | 封装类 |
|---|---|
| boolean | Boolean |
| char | Char |
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |