jsp+struts2 上一页1 2 3 4 5 下一页 分页代码 20
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏20(财富值+成长值)
1个回答
展开全部
action类中的分页方法如下:
///分页显示
public String ShowUser(){
int pageNow = 1;//希望显示第几页 默认显示第一页
int pageSize = 3;//每页显示多少条记录
int pageCount;//一共有多少页 ——通过计算得到
int rowCount;//一共有多少条记录 ——从数据库查询
int start = (pageNow-1)*pageSize;//第n页的起始查询数据
// 获取总记录数 rowCount
UserDao userDao = new UserDao();
String count=userDao.getList("user", "count(id)", null, null, null).get(0).get("count(id)");
rowCount = Integer.parseInt(count); //将count转成int类型
//计算 pageCount 一共 分 多少页
pageCount =(rowCount+pageSize-1)/pageSize;
//接受用户希望显示的页数(pageNow)
HttpServletRequest request=ServletActionContext.getRequest();
String s_pageNow=request.getParameter("pageNow");
if(s_pageNow!=null){
pageNow =Integer.parseInt(s_pageNow);
if(pageNow>pageCount){
pageNow=pageCount;
}
if(pageNow<1){
pageNow=1;
}
}
System.out.println("showuser中获取到的页数值为"+pageNow);
ServletActionContext.getRequest().setAttribute("pageNow", pageNow);//生成缓存
ServletActionContext.getRequest().setAttribute("pagecount", pageCount);//生成缓存
start = (pageNow-1)*pageSize;
List<Map<String, String>> list= userService.query(start, pageSize);
ServletActionContext.getRequest().setAttribute("list", list);
return "ShowUserSuccess";
}
调用service中的方法如下:
// 分页查询
public List<Map<String, String>> query( int star, int pagsize){//select * from user where username="loginname"
//获取用户name 通过name查询信息
//String userName=(String) ServletActionContext.getRequest().getAttribute("lname");
String start = Integer.toString(star);
String pagesize = Integer.toString(pagsize);
List<Map<String, String>> list = userDao.getList("user", "id,username,password,userage,url", null,start,pagesize);
if(list.size()>0){
System.out.println("进入query中");
return list;
}
return null;
}
界面中控制分页的语句如下:
<a href="userAction!ShowUser"?pageNow=1>首页</a>
<a href="userAction!ShowUser?pageNow=${pageNow-1 }">上一页</a>
<!--var定义 -->
<c:forEach var="i" step="1" begin="1" end="${pagecount }">
<c:choose>
<c:when test="${pageNow eq i }">
[${i }]
</c:when>
<c:otherwise>
<a href="userAction!ShowUser?pageNow=${i }">[${i }]</a>
</c:otherwise>
</c:choose>
</c:forEach>
<a href="userAction!ShowUser?pageNow=${pageNow+1 }" >下一页</a>
Struts中的配置如下:
<package name="user" extends="struts-default">
<action name="userAction" class="action.UserAction" >
<!-- 登陆返回值 -->
<result name="loginSuccess" type="redirect">/userAction!ShowUser</result>
<result name="loginError">/login.jsp</result>
<!-- 分页方法返回值 -->
<result name="ShowUserSuccess">/main.jsp</result>
</action>
</package>
///分页显示
public String ShowUser(){
int pageNow = 1;//希望显示第几页 默认显示第一页
int pageSize = 3;//每页显示多少条记录
int pageCount;//一共有多少页 ——通过计算得到
int rowCount;//一共有多少条记录 ——从数据库查询
int start = (pageNow-1)*pageSize;//第n页的起始查询数据
// 获取总记录数 rowCount
UserDao userDao = new UserDao();
String count=userDao.getList("user", "count(id)", null, null, null).get(0).get("count(id)");
rowCount = Integer.parseInt(count); //将count转成int类型
//计算 pageCount 一共 分 多少页
pageCount =(rowCount+pageSize-1)/pageSize;
//接受用户希望显示的页数(pageNow)
HttpServletRequest request=ServletActionContext.getRequest();
String s_pageNow=request.getParameter("pageNow");
if(s_pageNow!=null){
pageNow =Integer.parseInt(s_pageNow);
if(pageNow>pageCount){
pageNow=pageCount;
}
if(pageNow<1){
pageNow=1;
}
}
System.out.println("showuser中获取到的页数值为"+pageNow);
ServletActionContext.getRequest().setAttribute("pageNow", pageNow);//生成缓存
ServletActionContext.getRequest().setAttribute("pagecount", pageCount);//生成缓存
start = (pageNow-1)*pageSize;
List<Map<String, String>> list= userService.query(start, pageSize);
ServletActionContext.getRequest().setAttribute("list", list);
return "ShowUserSuccess";
}
调用service中的方法如下:
// 分页查询
public List<Map<String, String>> query( int star, int pagsize){//select * from user where username="loginname"
//获取用户name 通过name查询信息
//String userName=(String) ServletActionContext.getRequest().getAttribute("lname");
String start = Integer.toString(star);
String pagesize = Integer.toString(pagsize);
List<Map<String, String>> list = userDao.getList("user", "id,username,password,userage,url", null,start,pagesize);
if(list.size()>0){
System.out.println("进入query中");
return list;
}
return null;
}
界面中控制分页的语句如下:
<a href="userAction!ShowUser"?pageNow=1>首页</a>
<a href="userAction!ShowUser?pageNow=${pageNow-1 }">上一页</a>
<!--var定义 -->
<c:forEach var="i" step="1" begin="1" end="${pagecount }">
<c:choose>
<c:when test="${pageNow eq i }">
[${i }]
</c:when>
<c:otherwise>
<a href="userAction!ShowUser?pageNow=${i }">[${i }]</a>
</c:otherwise>
</c:choose>
</c:forEach>
<a href="userAction!ShowUser?pageNow=${pageNow+1 }" >下一页</a>
Struts中的配置如下:
<package name="user" extends="struts-default">
<action name="userAction" class="action.UserAction" >
<!-- 登陆返回值 -->
<result name="loginSuccess" type="redirect">/userAction!ShowUser</result>
<result name="loginError">/login.jsp</result>
<!-- 分页方法返回值 -->
<result name="ShowUserSuccess">/main.jsp</result>
</action>
</package>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询