用SSI来分页 一头雾水 求大哥大姐赐教 有实际的代码更好 没代码给我讲讲思想 用的struts1
求解!!
求解!!
解决方案 »
- java根据一个字段内容查询musql数据库中的信息 但是如果这个字段包含中文的话 就查询不了 该怎么办(该字段必须包含中文)
- 关于list的编码转换问题
- 用Hibernate找不到DB2中的序列
- 关于在jsp页面隐藏button按钮的问题
- long lUserID = (Long) session.getAttribute("UserID");
- tomcat启动时出现的严重: Error org.springframework.web.context.ContextLoader加载失败
- 救命啊
- 关于Servlet传递参数的问题,在线等!
- ------- 这样保存request为什么不对?
- 请csdn的高手过来看看!怎么改正代码呢????????????????????
- 收到带xml内容的http请求时如何解析里面的xml内容
- 关于一些JS的判断。在线等
前台的话,最好采用成熟grid组件
引用以上的两个标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="pg" uri="http://jsptags.com/tags/navigation/pager"%><body>
<div style="text-align: center">
<table align="center" border="1" cellPadding="0" cellSpacing="1">
<tr bgcolor="#EFF3F7">
<td>用户ID</td>
<td>用户名</td>
<td>密码</td>
<td>年龄</td>
<td>删除用户</td>
<td>更新用户</td>
</tr> <c:if test="${!empty pm.list}">
<c:forEach items="${pm.list}" var="us">
<tr bgcolor="#EFF3F7">
<td align="center">${us.id}</td>
<td align="center">${us.username }</td>
<td align="center">${us.password}</td>
<td align="center">${us.age}</td>
<td><a href="removeUser.action?user.id=${us.id}">删除</a></td>
<td><a href="updateP.action?user.id=${us.id}">更新</a></td>
</tr>
</c:forEach>
</c:if>
<c:if test="${empty pm.list}">
<tr>
<td colspan="5" align="center" bgcolor="#EFF3F7">没有找到相应的记录</td>
</tr>
</c:if>
</table>
<pg:pager url="pager.action" items="${pm.total}"
export="currentPageNumber=pageNumber" maxPageItems="5" isOffset="true" scope="request">
<pg:first>
<a href="${pageUrl}">首页</a>
</pg:first>
<pg:prev>
<a href="${pageUrl }">前一页</a>
</pg:prev>
<pg:pages>
<c:choose>
<c:when test="${currentPageNumber eq pageNumber }">
<font color="red">${pageNumber }</font>
</c:when>
<c:otherwise>
<a href="${pageUrl }">${pageNumber }</a>
</c:otherwise>
</c:choose>
</pg:pages>
<pg:next>
<a href="${pageUrl }">后一页</a>
</pg:next>
<pg:last>
<a href="${pageUrl }">尾页</a>
</pg:last>
</pg:pager>
</div>
</body>2:定义一个PagerModel
public class PagerModel {
private int total;
private List<User> list;
private int offset;
private int pagesize;
//此处省略了它们set get方法
}3 定义一个PagerModel接口并实现它
public interface PagerDao { public PagerModel PageAccess(int offset,int pagesize);
}
实现接口
public class PagerDaoImpl extends HibernateDaoSupport implements PagerDao { @SuppressWarnings("unchecked")
@Override
public PagerModel PageAccess(int offset,int pagesize) {
String hql="select count(*) from User";
int total = ((Long)this.getSession().createQuery(hql).uniqueResult()).intValue();
Query query = this.getSession().createQuery("from User").setFirstResult(offset).setMaxResults(pagesize);
List<User> list = query.list(); PagerModel pm = new PagerModel();
pm.setTotal(total);
pm.setList(list);
return pm;
}
}4 PagerAction
public class PagerAction extends ActionSupport { private PagerDao pagerDao;
private PagerModel pager;//pager为固定写法,在url他是参数名
//两个属性的set get方法
@Override
public String execute() throws Exception {
int offset=0;
try {
if(ServletActionContext.getRequest().getParameter("pager.offset")==null)
{
offset=1;
}
else{
offset=Integer.parseInt(ServletActionContext.getRequest().getParameter("pager.offset"));
}
} catch (Exception e) {
e.printStackTrace();
}
int pagesize=5;
System.out.println("pager.offset: " + ServletActionContext.getRequest().getParameter("pager.offset"));
PagerModel pm = pagerDao.PageAccess(offset,pagesize);
HttpServletRequest request = ServletActionContext.getRequest();
request.setCharacterEncoding("UTF-8");
request.setAttribute("pm", pm);//在jsp页面中遍历其里面的内容和或取pm.total条目总数
return SUCCESS;
}
}经过以上,你就可以实现分页了操作,前提是你现在数据库里面User表中多插入几条数据啊