Java与Struts结合写一个简单基础的分页显示
来源:互联网 发布:淘宝最稀奇暴利产品. 编辑:程序博客网 时间:2024/06/06 02:16
用Struts2做一个简单的基础的分页显示。我的想法是把数据库表中的每一行数据都封装成一个对象,然后用一个ArrayList的方法返回这些对象,接着在Struts2的action里面定义一个ArrayList属性,用这个ArrayList来接收从数据库中查询出来并进行了封装的那些对象,然后通过Struts2的标签遍历ArrayList里的每个对象
我数据库表结构和数据http://download.csdn.net/detail/liu_c_y/9553382
完整的项目代码http://download.csdn.net/download/liu_c_y/9552320
数据库表中的数据封装成对象
package com.model;import com.opensymphony.xwork2.ActionSupport;public class Timeprice extends ActionSupport{ private static final long serialVersionUID = 1L; private String from_sp; private String to_sp; private String time_leave; private String time_arrive; private int rest; private String date; private int price; private int p_id; private int time_id; private int car_id; public String getFrom_sp() { return from_sp; } public void setFrom_sp(String from_sp) { this.from_sp = from_sp; } public String getTo_sp() { return to_sp; } public void setTo_sp(String to_sp) { this.to_sp = to_sp; } public String getTime_leave() { return time_leave; } public void setTime_leave(String time_leave) { this.time_leave = time_leave; } public String getTime_arrive() { return time_arrive; } public void setTime_arrive(String time_arrive) { this.time_arrive = time_arrive; } public int getRest() { return rest; } public void setRest(int rest) { this.rest = rest; } public String getDate() { return date; } public void setDate(String date){ this.date = date; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public int getP_id() { return p_id; } public void setP_id(int p_id) { this.p_id = p_id; } public int getTime_id() { return time_id; } public void setTime_id(int time_id) { this.time_id = time_id; } public int getCar_id() { return car_id; } public void setCar_id(int car_id) { this.car_id = car_id; }}
数据库的连接
package com.conn;import java.sql.DriverManager;import com.mysql.jdbc.Connection;public class Conn { private String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8"; private String user = "root"; private String pass = ""; public Connection getConn(){ try{ Class.forName("com.mysql.jdbc.Driver"); Connection conn = (Connection) DriverManager.getConnection(url, user, pass); return conn; }catch(Exception e){ e.printStackTrace(); return null; } }}
数据库表的DAO
package com.conn;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;public class TimePriceDAO { private Connection conn; private PreparedStatement pstmt; private ArrayList< com.model.Timeprice> list =new ArrayList< com.model.Timeprice>(); public TimePriceDAO(){ conn = new Conn().getConn(); } public ArrayList< com.model.Timeprice> queryByPage(int pageSize,int pageNow){ if(pageNow<1) pageNow = 1; try { pstmt = conn.prepareStatement("select * from price,time_table,car where " + "time_table.time_id=price.time_id and car.car_id=time_table.car_id order by p_id desc limit "+(pageNow*pageSize-pageSize)+","+pageSize); //pageNow*pageSize-pageSize开始查询的行数,pageSize需要读取的行数 ResultSet rs = pstmt.executeQuery(); while(rs.next()){ com.model.Timeprice timeprice = new com.model.Timeprice(); timeprice.setP_id(rs.getInt("P_id")); timeprice.setRest(rs.getInt("rest")); timeprice.setPrice(rs.getInt("price")); timeprice.setDate(rs.getString("date")); timeprice.setTime_id(rs.getInt("time_id")); timeprice.setTime_leave(rs.getString("time_leave")); timeprice.setTime_arrive(rs.getString("time_arrive")); timeprice.setCar_id(rs.getInt("car_id")); timeprice.setFrom_sp(rs.getString("from_sp")); timeprice.setTo_sp(rs.getString("to_sp")); list.add(timeprice); } return list;//返回ArrayList的对象 } catch (SQLException e) { e.printStackTrace(); return null; } } }
Action类
package com.admin.service;import java.util.ArrayList;import com.conn.TimePriceDAO;import com.opensymphony.xwork2.ActionSupport;public class TimePricePage extends ActionSupport{ private static final long serialVersionUID = 1L; private ArrayList<com.model.Timeprice> list; private int pageNow = 1; //第一页开始 private int pageSize = 6;//每页显示6条记录 private TimePriceDAO timePriceDAO= new TimePriceDAO();public ArrayList<com.model.Timeprice> getList() { return list;}public void setList(ArrayList<com.model.Timeprice> list) { this.list = list;}public int getPageNow() { return pageNow;}public void setPageNow(int pageNow) { this.pageNow = pageNow;}public int getPageSize() { return pageSize;}public void setPageSize(int pageSize) { this.pageSize = pageSize;}public String execute() throws Exception{ list = timePriceDAO.queryByPage(pageSize, pageNow); return SUCCESS;}}
配置Struts.xml文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts><package name="com" extends="struts-default"><action name="showTimePrice" class="com.admin.service.TimePricePage" > <result name="success">/displayinfo.jsp</result></action></package></struts>
前端的jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%><%@taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'displaystuinfo.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"></head><body> <table> <tr> <td>班次</td> <td>出发地</td> <td>目的地</td> <td>出发时间</td> <td>预计到达时间</td> <td>剩余座位</td> <td>价格</td> <td>日期</td> </tr> <s:iterator value="list" id="list" status="status"> <tr bgcolor="#F0F8FF"> <td><s:property value="#list.car_id"/></td> <td><s:property value="#list.from_sp"/></td> <td><s:property value="#list.to_sp"/></td> <td><s:property value="#list.time_leave"/></td> <td><s:property value="#list.time_arrive"/></td> <td><s:property value="#list.rest"/></td> <td><s:property value="#list.price"/></td> <td><s:property value="#list.date"/></td> </tr> </s:iterator> </table> <s:url id="url_pre" value="showTimePrice.action"> <s:param name="pageNow" value="pageNow-1"></s:param> </s:url> <s:url id="url_next" value="showTimePrice.action"> <s:param name="pageNow" value="pageNow+1"></s:param> </s:url> <s:a href="%{url_pre}">上一页</s:a> <s:iterator value="students" status="status"> <s:url id="url" value="showTimePrice.action"> <s:param name="pageNow" value="pageNow"/> </s:url> </s:iterator> <s:a href="%{url_next}">下一页</s:a> </body></html>
部署完成后便实现了最简单的只能进行上下页的分页显示
个人博客:http://www.javaknowledge.cn/?p=44
1 0
- Java与Struts结合写一个简单基础的分页显示
- Struts简单分页显示
- 一个简单的分页显示
- 如何写一个简单的分页
- 最近写的一个分页数据显示及分页导航
- struts与velocity结合的简单介绍--找棵树吊死
- 结合JavaScript和html写一个简单的猜拳游戏
- 结合 xsl 与 struts 显示页面
- 新写的一个:文章内容分页显示的代码
- JSTL与Struts的结合
- Velocity与struts的结合
- JSTL与struts的结合
- JSTL与Struts的结合
- JSTL与Struts的结合
- 今天早上起来写了一个smarty与函数相互结合的一个分页,上网搜了下发现他们写的太复杂,看不懂,自己写吧!写的不好,大家不要笑
- 一个用hibernate+struts写的简单日志系统
- Struts学习与一个简单的Struts实例
- 【java基础】jdbc的简单分页查询
- OPenCV floodfill 泛洪填充的使用方法
- 第三章 DispatcherServlet详解 ——跟开涛学SpringMVC
- 工作中Tortoise SVN遇到的一个问题,Commit failed (details follow): Authorization failed
- HTML5+javascript记录
- maven私服问题
- Java与Struts结合写一个简单基础的分页显示
- 使用Processing+Arduino写的类似雷达扫描效果
- 【unity shader】高级光照 --- 薄膜干涉
- 开放封闭原则之“面向接口编程”
- 抽象工厂模式(Abstract Factory) Java
- Java Math.round()函数小结
- G1 算法论文
- Subsets II 找出有重复元素数组中的所有集合
- 维护这些小事