如何在JSP页面中定义一个静态PageInfo
时间: 2024-03-24 20:41:42 浏览: 60
在 JSP 页面中,你可以使用 `<%! %>` 标签来定义一个静态的 PageInfo 对象,如下所示:
```
<%! public static final PageInfo<Student> pageInfo = new PageInfo<>(); %>
```
在这个示例中,我们定义了一个泛型为 Student 的 PageInfo 对象,并将其声明为 public、static 和 final,这样就可以在整个 JSP 页面中使用这个 PageInfo 对象了。
请注意,这种方式定义的 PageInfo 对象是与 Servlet 实例无关的,也就是说,无论有多少个请求,这个 PageInfo 对象都是唯一的。因此,你需要在使用之前,先对 PageInfo 对象进行初始化,否则可能会导致空指针异常。
相关问题
为什么JSP中这个pageInfo每次都是一个新的
在 JSP 中,每次请求都会创建一个新的 HttpServletRequest 对象和一个新的 HttpServletResponse 对象,而且默认情况下,每个请求都会创建一个新的 Servlet 实例来处理请求。因此,如果你在 JSP 页面中定义了一个静态的 PageInfo 对象,那么每个请求都会创建一个新的 PageInfo 对象,而且这些 PageInfo 对象是相互独立的,它们之间没有任何关系。
如果你想在多个请求之间共享同一个 PageInfo 对象,可以考虑将 PageInfo 对象存储在 Session 对象中。Session 对象是在用户第一次访问应用程序时创建的,并且在用户关闭浏览器或者超时之前一直存在。因此,你可以将 PageInfo 对象存储在 Session 对象中,这样在多个请求之间就可以共享同一个 PageInfo 对象了。
<%! public static final PageInfo<Student> pageInfo = new PageInfo<>(); %> <% request.setCharacterEncoding("utf-8"); String name = StrUtil.toStr(request.getParameter("name")); String qq1 = StrUtil.toStr(request.getParameter("qq")); Date start = StrUtil.toDate(request.getParameter("start")); Date end = StrUtil.toDate(request.getParameter("end")); PageInfo<Student> pageInfo = pageInfo;
这段代码存在一个问题,即在 JSP 页面中定义了两个同名的 PageInfo 对象,一个是静态常量 pageInfo,一个是局部变量 pageInfo。这会导致局部变量 pageInfo 覆盖了静态常量 pageInfo,从而导致静态常量 pageInfo 没有被使用到。
如果你想使用静态常量 pageInfo,应该避免在同一个 JSP 页面中定义同名的局部变量。你可以改变变量名,或者避免使用局部变量。例如,你可以将代码改为:
```
<%! public static final PageInfo<Student> PAGE_INFO = new PageInfo<>(); %>
<%
request.setCharacterEncoding("utf-8");
String name = StrUtil.toStr(request.getParameter("name"));
String qq1 = StrUtil.toStr(request.getParameter("qq"));
Date start = StrUtil.toDate(request.getParameter("start"));
Date end = StrUtil.toDate(request.getParameter("end"));
// 使用静态常量 pageInfo
PAGE_INFO.setPageNum(1);
PAGE_INFO.setPageSize(10);
PAGE_INFO.setOrderBy("id desc");
%>
```
在这个修改后的代码中,我们将静态常量 pageInfo 改名为 PAGE_INFO,并在 JSP 页面中使用 PAGE_INFO 对象,避免和局部变量名冲突。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)