本文导航
1.页面
2.Controller
3.service
4.maven 依赖
1.页面: 默认请求 page:页面,页数 size:每页显示的数量
<a href="${pageContext.request.contextPath}/orders/findAll.do?page=1&size=6">首页</a>
1.1)首页,尾页上一页,下一页
pageInfo是ModelAndView中带回的数据
<div class="box-tools pull-right">
<ul class="pagination">
<li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=1&size=${pageInfo.pageSize}" aria-label="Previous">首页</a>
</li>
<li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=${pageInfo.pageNum-1}&size=${pageInfo.pageSize}">上一页</a></li>
<c:forEach begin="1" end="${pageInfo.pages}" var="pageNum">
<li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=${pageNum}&size=${pageInfo.pageSize}">${pageNum}</a></li>
</c:forEach>
<li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=${pageInfo.pageNum+1}&size=${pageInfo.pageSize}">下一页</a></li>
<li><a href="${pageContext.request.contextPath}/orders/findAll.do?page=${pageInfo.pages}&size=${pageInfo.pageSize}" aria-label="Next">尾页</a>
</li>
</ul>
</div>
2.Controller里面page,size,如果没值的话会自动设置默认值.PageInfo是PageHelper提供的bean里面封装总页数,总条数,
前一页,下一页,是否为最后一页,时候有前一页,等等很多信息.
import com.github.pagehelper.PageInfo;
import com.qy.ssm.domain.Orders;
import com.qy.ssm.service.IOrdersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
@Controller
@RequestMapping("/orders")
public class OrdersController {
@Autowired
private IOrdersService ordersService;
@RequestMapping("/findAll.do")
public ModelAndView findAll(@RequestParam(name = "page", required = true, defaultValue = "1") int page,
@RequestParam(name = "size", required = true, defaultValue = "4") int size) throws Exception {
ModelAndView mv = new ModelAndView();
List<Orders> ordersList = ordersService.findAllByPage(page, size);
//PageInfo就是一个分页Bean
PageInfo pageInfo=new PageInfo(ordersList);
mv.addObject("pageInfo",pageInfo);
mv.setViewName("orders-list");
return mv;
}
}
3.service
import com.github.pagehelper.PageHelper;
import com.qy.ssm.dao.IOrdersDao;
import com.qy.ssm.domain.Orders;
import com.qy.ssm.service.IOrdersService;
import com.qy.ssm.service.IProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
@Transactional
public class IOrdersServiceImpl implements IOrdersService {
@Autowired
private IOrdersDao ordersDao;
@Override
public List<Orders> findAllByPage(Integer page, Integer pageSize) throws Exception {
//参数pageNum是页码值,参数pageSize代表是每页显示条数
PageHelper.startPage(page,pageSize);
return ordersDao.findAll();
}
4.maven依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>最新版本</version>
</dependency>