我的中软国际实习Day5

我的中软国际实习Day5

基于ssm框架的分页和filter

pageInfo

public class PageInfo<T> {
    private List<T> list;
    private int totalPage;
    private int size;
    private int totalCount;
    private int currentPage;


    public List<T> getList() {
        return list;
    }

    public void setList(List<T> list) {
        this.list = list;
    }

    public int getTotalPage() {
        return totalPage;
    }

    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }

    public int getSize() {
        return size;
    }

    public void setSize(int size) {
        this.size = size;
    }

    public int getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(int totalCount) {
        this.totalCount = totalCount;
    }

    public int getCurrentPage() {
        return currentPage;
    }

    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }


    @Override
    public String toString() {
        return "PageInfo{" +
                "list=" + list +
                ", totalPage=" + totalPage +
                ", size=" + size +
                ", totalCount=" + totalCount +
                ", currentPage=" + currentPage +
                '}';
    }
}

findAll()

@RequestMapping("/findAll.do")
        public ModelAndView findAll(@RequestParam(defaultValue = "1") int currentPage,String username,HttpSession session,@RequestParam(defaultValue = "0") int type){

            if(type==1){
                session.setAttribute("searchname",username);
            }else{
                username=(String) session.getAttribute("searchname");
            }
            PageInfo<User> pageInfo=userService.findAll(currentPage,username);
            ModelAndView modelAndView=new ModelAndView();
            modelAndView.addObject("pageInfo",pageInfo);
            modelAndView.setViewName("user-list");
            return modelAndView;
        }

userlist.jsp

<div class="box-tools pull-right">
							<ul class="pagination">
								<li><a href="${pageContext.request.contextPath}/user/findAll.do" aria-label="Previous">首页</a></li>
								<li><a href="${pageContext.request.contextPath}/user/findAll.do?currentPage=${pageInfo.currentPage-1}">上一页</a></li>
								<c:forEach begin="1" end="${pageInfo.totalPage}" var="pageNum">
									<li><a href="${pageContext.request.contextPath}/user/findAll.do?currentPage=${pageNum}">${pageNum}</a></li>


								</c:forEach>

								<li><a href="${pageContext.request.contextPath}/user/findAll.do?currentPage=${pageInfo.currentPage+1}">下一页</a></li>
								<li><a href="${pageContext.request.contextPath}/user/findAll.do?currentPage=${pageInfo.totalPage}" aria-label="Next">尾页</a></li>
							</ul>
						</div>

					</div>

UserMapper.xml

<select id="findAll"  resultType="com.zhongruan.bean.User">
        select *from tb_user
         <if test="username!=null and username!=''">
            WHERE username LIKE concat("%",#{username},"%")
         </if>
         limit #{start},5
    </select>

创建过滤器类LoginFilter,实现Filter接口,并且重写init(),doFilter(),destroy()方法,此处因为是简单使用,只需要在doFilter方法中写入拦截逻辑。
LoginFilter

public class LoginFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        HttpSession session = request.getSession();
        User user = (User) session.getAttribute("user");
        String uri=request.getRequestURI();
        if(user==null && uri.indexOf("login.do")==-1){
            response.sendRedirect(request.getContextPath()+"../login.jsp");
        }else{
            filterChain.doFilter(request,response);
        }

    }

    @Override
    public void destroy() {

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值