public class SearchUserAction extends Action{
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response) {
UserActionForm userActionForm = (UserActionForm) actionForm;
User user=new User();
user.setUser_name(userActionForm.getUser_name().trim()); //将表单中的数据取出放置到User类的对象里面
user.setUser_dc(userActionForm.getUser_dc());
user.setUser_bm(userActionForm.getUser_bm());
user.setUser_qx(userActionForm.getUser_qx());
UserDAO userDAO=new UserDAO();
userDAO.setLength(10); //每页显示记录数
userDAO.setWitchAction("SearchUserAction.do"); //分页链接中的链接 Action 指定
int ipage;
try {
String page = request.getParameter("page"); //从超链接中得到页数
ipage = Integer.parseInt(page, 10); //使用第二个参数指定的基数,将字符串参数解析为有符号的整数。
} catch (Exception e) {
ipage = userActionForm.getPage(); //出现异常时候的情况: 从ActionFrom Bean中得到页码数
}
if (ipage < 1) {
ipage = 1;
}
ArrayList users=new ArrayList();
try {
users = (ArrayList) userDAO.paginationSearch(user, ipage); //使用分页查询方法
} catch (Exception e) {
e.printStackTrace();
}
request.setAttribute("users", users); //将查询到的记录放到request中
String pagestr = userDAO.getPagestr(ipage); //得到带有超链接的页码字符串(共24条记录,共3页,当前是第1页, 1 2 3 )
request.setAttribute("pagestr", pagestr); //放置到request中
request.setAttribute("startIndex",(ipage-1)*userDAO.getLength());
//userActionForm.reset(); //查询条件已经保存在pagestr中 (页码没有保存,可以在链接中设置)为了在查询删除后依然保存原来的查询条件 不能清空
return (actionMapping.findForward("success"));
}
}