共 <b>${page.totalNumber}</b> 条
<c:if test="${page.currentPage != 1}">
<a href="javascript:changeCurrentPage('1')" class='first'>首页</a>
<a href="javascript:changeCurrentPage('${page.currentPage-1}')" class='pre'>上一页</a>
</c:if>
当前第<span>${page.currentPage}/${page.totalPage}</span>页
<c:if test="${page.currentPage != page.totalPage}">
<a href="javascript:changeCurrentPage('${page.currentPage+1}')" class='next'>下一页</a>
<a href="javascript:changeCurrentPage('${page.totalPage}')" class='last'>末页</a>
</c:if>
感觉这段代码的${page.totalNumber} ${page.currentPage}/${page.totalPage} 都拿不到值。
但是java调试的时候page里面的这些属性都是有值得
首先你需要看一看你的代表PAGE的实体类的实例的名字是不是起的page,不是的话你前端的名字就得改一下,如果不是这个问题,看一看servlet中有没有setattribute()把page加入到request作用域中 还没有的话看看你的PAGE实体类中有没有给这些属性设置GET方法,如果像你说的 调试的时候有值,那就应该就是这三个问题了
加上这一句就可以了
request.setAttribute("page", page);
你看,你req.setattribute 的时候 key 用的名字是messageList 可是你取值的时候是{page.totalPage} 你应该是${messageList .totalPage} 这个样子,你试试吧,不知道有没有帮到你
public class ListServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//设置编码
req.setCharacterEncoding("UTF-8");
//接收页面的值
String command = req.getParameter("command");
String description = req.getParameter("description");
String currentPage = req.getParameter("currentPage");
//向页面传值
req.setAttribute("command", command);
req.setAttribute("description", description);
req.setAttribute("currentPage", currentPage);
Page page = new Page();
Pattern pattern = Pattern.compile("[0-9]{1,9}");
if(currentPage == null || !pattern.matcher(currentPage).matches()) {
page.setCurrentPage(1);
} else {
page.setCurrentPage(Integer.valueOf(currentPage));
}
//业务处理 查询消息列表并传递给页面
QueryService listServcie = new QueryService();
req.setAttribute("messageList", listServcie.queryMessageList(command, description,page));
//页面跳转
req.getRequestDispatcher("/WEB-INF/jsp/back/List.jsp").forward(req, resp);
}