
能不能根据我的Action代码,实现分页的JSP代码?
publicActionForwardshowArticleUI(ActionMappingmapping,ActionFormform,HttpServletReque...
public ActionForward showArticleUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
//得到当前用户[从session取出]
Users loginUser = (Users) request.getSession().getAttribute("loginuser");
//获取页码
String pageStr = request.getParameter("page");
if(pageStr == null){
pageStr = String.valueOf(request.getSession().getAttribute("page"));
}else{
request.getSession().setAttribute("page", pageStr);
}
int page = 1;
try{
page = Integer.parseInt(pageStr);
}catch(NumberFormatException e){
}
//获得总记录数
int count = articleService.getResultBySql("select * from article where authorId=?", new Object[]{loginUser.getId()}).size();
int maxPage = count / NUMBER;
if(count%NUMBER != 0){
maxPage ++;
}
//获得列表
List<Article> list = articleService.getResultBySql("select * from article where authorId=? order by indate limit ? offset ?", new Object[]{loginUser.getId(),NUMBER,(page-1)*NUMBER});
if(count != 0 && list == null){
list = articleService.getResultBySql("select * from article where authorId=? order by indate limit ? offset ?", new Object[]{loginUser.getId(),NUMBER,(page-1)*NUMBER});
}
request.setAttribute("articlelist", list);
if(list != null){
PageData data = new PageData(list,page,maxPage);
request.setAttribute("articles", data);
}
//分页部分
TurnPageForm tForm = new TurnPageForm();
tForm.setCurrentPage(page);
tForm.setMaxpage(maxPage);
request.setAttribute("turnPageForm", tForm);
return mapping.findForward("goShowArticleUI");
}
希望大家帮我写出在JSP页面分页显示日志标题的JSP代码,以供我借鉴学习。谢谢大家啦。 展开
HttpServletRequest request, HttpServletResponse response) {
//得到当前用户[从session取出]
Users loginUser = (Users) request.getSession().getAttribute("loginuser");
//获取页码
String pageStr = request.getParameter("page");
if(pageStr == null){
pageStr = String.valueOf(request.getSession().getAttribute("page"));
}else{
request.getSession().setAttribute("page", pageStr);
}
int page = 1;
try{
page = Integer.parseInt(pageStr);
}catch(NumberFormatException e){
}
//获得总记录数
int count = articleService.getResultBySql("select * from article where authorId=?", new Object[]{loginUser.getId()}).size();
int maxPage = count / NUMBER;
if(count%NUMBER != 0){
maxPage ++;
}
//获得列表
List<Article> list = articleService.getResultBySql("select * from article where authorId=? order by indate limit ? offset ?", new Object[]{loginUser.getId(),NUMBER,(page-1)*NUMBER});
if(count != 0 && list == null){
list = articleService.getResultBySql("select * from article where authorId=? order by indate limit ? offset ?", new Object[]{loginUser.getId(),NUMBER,(page-1)*NUMBER});
}
request.setAttribute("articlelist", list);
if(list != null){
PageData data = new PageData(list,page,maxPage);
request.setAttribute("articles", data);
}
//分页部分
TurnPageForm tForm = new TurnPageForm();
tForm.setCurrentPage(page);
tForm.setMaxpage(maxPage);
request.setAttribute("turnPageForm", tForm);
return mapping.findForward("goShowArticleUI");
}
希望大家帮我写出在JSP页面分页显示日志标题的JSP代码,以供我借鉴学习。谢谢大家啦。 展开
2015-05-14
展开全部
<%! int pageSize=4;
int pageCount;
int showPage;
%>
<!-- 连接数据库并从数据库中调取记录-->
<%
Connection con;
Statement sql;
ResultSet rs;
try{Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundException e){
}
try{con=DriverManager.getConnection("jdbc:mysql //localhost:3306/message board","root","123456");
sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
//返回可滚动的结果集
rs=sql.executeQuery("select * from messageinfo");
//将游标移到最后一行
rs.last();
//获取最后一行的行号
int recordCount=rs.getRow();
//计算分页后的总数
pageCount=(recordCount%pageSize==0)?(lastRow/pageSize):(lastRow/pageSize+1);
//获取用户想要显示的页数:
String integer=request.getParameter("showPage");
if(integer==null){
integer="1";
}
try{showPage=Integer.parseInt(integer);
}catch(NumberFormatException e){
showPage=1;
}
if(showPage<=1){
showPage=1;
}
if(showPage>=pageCount){
showPage=pageCount;
}
//如果要显示第showPage页,那么游标应该移动到的position的值是:
int position=(showPage-1)*pageSize+1;
//设置游标的位置
rs.absolute(position);
//用for循环显示本页中应显示的的记录
for(int i=1;i<=pageSize;i++){
%>
<table>
<tr>
<th><%=rs.getString("UserName") %></th>
<td>发表于:<%=rs.getString("datetime") %></td>
</tr>
<tr >
<th colspan="3"><textarea><%=rs.getString("content") %></textarea></th>
</tr>
</table>
<%
rs.next();
}
rs.close();
con.close();
}
catch(Exception e){
e.printStackTrace();}
%>
<br>
第<%=showPage %>页(共<%=pageCount %>页)
<br>
<a href="ShowMessages.jsp?showPage=1">首页</a>
<a href="ShowMessages.jsp?showPage=<%=showPage-1%>">上一页</a>
<% //根据pageCount的值显示每一页的数字并附加上相应的超链接
for(int i=1;i<=pageCount;i++){
%>
<a href="ShowMessages.jsp?showPage=<%=i%>"><%=i%></a>
<% }
%>
<a href="ShowMessages.jsp?showPage=<%=showPage+1%>">下一页</a>
<a href="ShowMessages.jsp?showPage=<%=pageCount%>">末页</a>
<!-- 通过表单提交用户想要显示的页数 -->
<form action="" method="get">
跳转到第<input type="text" name="showPage" size="4">页
<input type="submit" name="submit" value="跳转">
</form>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询