<%@ 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=" " escape="false"> </h:outputText>
<h:outputLink value="userdetail.faces?userid=#{user.userid}">
<h:outputText value="查看">
</h:outputText>
</h:outputLink>
<h:outputText value=" " escape="false"> </h:outputText>
<h:outputLink value="updatejsp.faces?userid=#{user.userid}">
<h:outputText value="修改密码">
</h:outputText>
</h:outputLink>
<h:outputText value=" " 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;
}
}