分页 jsf组件dataTable

14 篇文章 0 订阅
10 篇文章 0 订阅

<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<jsp:useBean id="userlist" scope="page" class="com.jsp.web.UserBean">
</jsp:useBean>
<html>
<head>
<title>
userlist
</title>
</head>
<body bgcolor="#ffffff">
<f:view>
     <h:form>
       <h:dataTable id="allusers" value="#{listBean.allusers}" var="user" border="1">
         <h:column>
           <f:facet name="header">
             <h:outputText id="userid" value="userid"/>
            </f:facet>
             <h:outputText value="#{user.userid}"/>
         </h:column>
          <h:column>
           <f:facet name="header">
             <h:outputText id="username" value="username"/>
            </f:facet>
             <h:outputText value="#{user.username}"/>
         </h:column>
          <h:column>
           <f:facet name="header">
             <h:outputText id="userpwd" value="userpwd"/>
            </f:facet>
             <h:outputText value="#{user.userpassword}"/>
         </h:column>
         <h:column>
           <f:facet name="header">
             <h:outputText id="caozuo" value="caozuo" />
           </f:facet>
         <h:outputLink value="removeuser.faces?userid=#{user.userid}">
           <h:outputText value="删除">
           </h:outputText>
         </h:outputLink>
          <h:outputText value="&nbsp;" escape="false">     </h:outputText>

          <h:outputLink value="userdetail.faces?userid=#{user.userid}">
           <h:outputText value="查看">
           </h:outputText>
          </h:outputLink>
           <h:outputText value="&nbsp;" escape="false">     </h:outputText>

          <h:outputLink value="updatejsp.faces?userid=#{user.userid}">
            <h:outputText value="修改密码">
           </h:outputText>
          </h:outputLink>
          <h:outputText value="&nbsp;" escape="false">     </h:outputText>
              </h:column>
       </h:dataTable>
     </h:form>
      <h:outputLink value="register.faces">
      <h:outputText value="注册新用户">
      </h:outputText>
      </h:outputLink>
      <c:out value="共[${listBean.pagenumber}]页"></c:out>
      <c:out value="第[${listBean.currentpage + 1 } / ${listBean.pagenumber}]页"></c:out>
      <c:forEach var="usermin" begin="1" end="${listBean.pagenumber}" step="1">
        <c:url var="myurl" value="userlist.faces?currentpage=${usermin-1}">
        </c:url>
        <c:choose>
          <c:when test="${allusers.currentpage!=usermin - 1}">
            <a href="<c:out value="${myurl}"/>"><c:out value="[${usermin}]"/></a>
          </c:when>
          <c:otherwise>
            <c:out value="[${usermin}]">
            </c:out>
          </c:otherwise>
        </c:choose>
      </c:forEach>
      <c:if test="${listBean.currentpage>0}">
        <c:url     var="myurl" value="userlist.faces?currentpage=${listBean.currentpage-1}">
        </c:url>
        <a href="<c:out value="${myurl}"/> "><c:out value="上一页"></c:out></a>
      </c:if>
      <c:if test="${listBean.currentpage<listBean.pagenumber-1}">
        <c:url     var="myurl" value="userlist.faces?currentpage=${listBean.currentpage+1}">
        </c:url>
        <a href="<c:out value="${myurl}"/> "><c:out value="下一页"></c:out></a>
      </c:if>
</f:view>
</body>
</html>

UserBean.java

package com.jsp.web;
import com.jsp.user.*;
import com.jsp.util.*;
import java.util.List;
import java.util.ArrayList;
import java.sql.SQLException;
import java.util.Collection;

public class UserBean extends User{

       public UserBean() {
       }
       boolean isLogin;
       private String oldpwd;
       private String newpwd;
       private String renewpwd;
       private String message;
       private String password2;
       public static String sucess="sucess";
       public static String failed="failed";
       private String loginname;
       private List userlist;
       private int pagesize;//页的大小
       private int currentpage;//当前页
       private int pagenumber;//共几页
       private Collection users;
       public void setUser(User user)
      {
          super.setUserid(user.getUserid());
          super.setUsername(user.getUsername());
          super.setUserpassword(user.getUserpassword());
      }
      public void setUserid(Long userid){
          System.out.println("userid:"+userid);
          if(userid==null){
              return;
          }
          User user=null;
          try{
              user=UserManager.getInstance().getUser(userid);
              }catch(SelectException sex){
                  sex.printStackTrace();
              }
              if(user!=null){
                  super.setUserid(user.getUserid());
                  super.setUsername(user.getUsername());
                  super.setUserpassword(user.getUserpassword());
              }else{
                  super.setUserid(null);
                  super.setUsername(null);
                  super.setUserpassword(null);
              }
              super.setUserid(userid);
      }
       public String doRegister(){
           if(getUserid()!=null)
           {
               message = "你已成功注册,请勿重复提交!";
               return failed;
           }
           try{
               boolean result=UserManager.getInstance().isExistUserbyname(getUsername());
               if(!result)
               {
                   message = "此用户名已被注册!";
                   return failed;
               }
           }catch(SelectException sex){
               sex.printStackTrace();
               message = "此用户名已被注册!";
               return failed;
           }
           String pw = getUserpassword();
           String pw2 = getPassword2();
          if(!pw.equals(pw2))
          {
              message = "两次输入的密码不一致!";
              return failed;
           }

           try{
               UserManager.getInstance().addUser(this);
           }catch(AddException axe){
               axe.printStackTrace();
               message = "注册失败!";
               return failed;
           }
          message="注册成功!";
           return sucess;
       }
       public String doRemoveuser(){
           System.out.print("userid:"+getUserid());
           try{
               UserManager.getInstance().removeUser(getUserid());
           }catch(RemoveException     rex){
                   rex.printStackTrace();
                   message="删除用户失败!";
                   return failed;
           }
           message="删除用户成功!";
           return sucess;
       }

       public String doLogin(){
           User user=null;
           try{
               user=UserManager.getInstance().getUserbyname(getLoginname());
           }catch(SelectException sex){
               sex.printStackTrace();
               return failed;
           }
           if(user==null){
               message="用户不存在!";
               isLogin=false;
               return failed;
           }
           String pwd=user.getUserpassword();
           if(pwd.equals(getUserpassword())){
               setUserid(user.getUserid());
               message="成功登录!";
               isLogin=true;
               return sucess;
           }else{
               message="用户名或密码错误!";
               isLogin=false;
               return failed;
           }
       }
       public String doLogout(){
           super.setUserid(null);
           super.setUsername(null);
           super.setUserpassword(null);
           message="你已经注销成功!";
           isLogin=false;
           return sucess;

       }
       public String doChangpwd(){
           boolean result;
           boolean result1;
           result=this.isCorrectoldpwd();
           result1=this.confirmpwd();
           if(result){
               if(result1){
                   super.setUserpassword(this.getNewpwd());
                   try{
                       UserManager.getInstance().changePassword(this);
                       message="密码修改成功!";
                       return sucess;
                   }catch(UpdateException uex){
                       uex.printStackTrace();
                       message="密码修改失败!";
                       return failed;

                   }
               }else{
                   message="两次输入密码不一致!";
                   return failed;

               }
           }else{
               message="原密码不正确!";
               return failed;
           }

       }
       public boolean confirmpwd(){
           String newpwd=this.getNewpwd();
           String renewpwd=this.getRenewpwd();
           if(newpwd!=null&&renewpwd!=null&&newpwd.equals(renewpwd)){
               message=null;
               return true;
           }else{
              return false;
           }
       }
       public boolean isCorrectoldpwd(){
           if(this.getOldpwd()!=null&&super.getUserpassword()!=null&&super.getUserpassword().equals(this.getOldpwd())){
               message=null;
               return true;
           }else{
               return false;
           }
       }
       public List getUserlist(){
           userlist=new ArrayList();
           try{
               userlist=(List) UserManager.getInstance().getUserlist();
           }catch(SelectException ex){
               ex.printStackTrace();
           }
           return userlist;

       }
       public User getUser()
       {
           Long userid = getUserid();
           User user = null;
           if(userid == null)
               return null;
           try
           {
               user = UserManager.getInstance().getUser(userid);
           }
           catch(SelectException ex)
           {
               ex.printStackTrace();
           }
           return user;
       }
public String doChangeuser(){
       try{
           UserManager.getInstance().changeUser(this);
       }catch(UpdateException uex){
           uex.printStackTrace();
           message="更改用户失败!";
           return failed;
       }
       message="更改用户成功!";
       return sucess;
}
public Collection getAllusers(){
       System.out.print("pagenumber"+this.getPagenumber());
       System.out.print("currentpage"+this.getCurrentpage());
       try{
           users=UserManager.getInstance().getAlluser(this.getCurrentpage()*this.getPagesize(),this.getPagesize());
       }catch(SelectException sex){
           sex.printStackTrace();
       }
       return users;

}

       public void setOldpwd(String oldpwd){
        this.oldpwd=oldpwd;
}
public String getOldpwd(){
        return oldpwd;
}
public void setNewpwd(String newpwd){
        this.newpwd=newpwd;
}
public String getNewpwd(){
        return newpwd;
}
public String getRenewpwd(){
        return renewpwd;
}
public void setRenewpwd(String renewpwd){
        this.renewpwd=renewpwd;
}
public String getMessage(){
       return message;
}
public void setPassword2(String password2)
      {
          this.password2 = password2;
      }

public String getPassword2(){
       return password2;
}
public void setLoginname(String loginname){
       this.loginname=loginname;
}
public String getLoginname(){
       return loginname;
}
public boolean getLogin()
      {
          return isLogin;
      }
      public void setPagesize(int pagesize){
          this.pagesize=pagesize;
      }
      public int getPagesize(){
          return pagesize;
      }
      public void setCurrentpage(int currentpage){
          this.currentpage=currentpage;
      }
      public int getCurrentpage(){
          return currentpage;
      }
      public void setPagenumber(int pagenumber){
          this.pagenumber=pagenumber;
      }
      public int getPagenumber(){
          int totalrow=0;
          try{
              totalrow=UserManager.getInstance().getTotalrow();
          }catch(SelectException sex){
              sex.printStackTrace();
          }
          if(totalrow%this.getPagesize()==0){
              pagenumber=totalrow/this.getPagesize();
          }else{
               pagenumber=totalrow/this.getPagesize() + 1;
          }
          System.out.print("totalrow"+totalrow);
          return pagenumber;
      }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值