SSh结合Easyui实现Datagrid的分页显示

网友投稿 212 2023-07-14


SSh结合Easyui实现Datagrid的分页显示

近日学习Easyui,发现非常好用,界面很美观。将学习的心得在此写下,这篇博客写SSh结合Easyui实现Datagrid的分页显示,其他的例如添加、修改、删除、批量删除等功能将在后面一一写来。

首先看一下要实现的效果:当每页显示5行数据:

当每页显示10行数据,效果如下:

具体步骤:

1、下载Easyui,并搭建环境。

2、搭建SSH工程,整个工程的目录结构如图所示:

3、在Oracle数据库中创建表Student。并且输入下面6行数据,因为添加操作还没有实现,所以先在数据库表中添加数据。默认设定的值是每行5个数据,所以请至少输入6行数据,便于分页的测试。

4、web.xml的配置

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

/*

org.springframework.web.context.ContextLoaderListener

contextConfigLocation

classpath:applicationContext.xml

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

/*

org.springframework.web.context.ContextLoaderListener

contextConfigLocation

classpath:applicationContext.xml

5、applicationContext.xml的配置

xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xmlns:context="http://springframework.org/schema/context"

xmlns:aop="http://springframework.org/schema/aop" xmlns:tx="http://springframework.org/schema/tx"

xsi:schemaLocation="http://springframework.org/schema/beans

http://springframework.org/schema/beans/spring-beans-2.5.xsd

http://springframework.org/schema/context

http://springframework.org/schema/context/spring-context-2.5.xsd

http://springframework.org/schema/aop http://springframework.org/schema/aop/spring-aop-2.5.xsd

http://springframework.org/schema/tx http://springframework.org/schema/tx/spring-tx-2.5.xsd">

xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xmlns:context="http://springframework.org/schema/context"

xmlns:aop="http://springframework.org/schema/aop" xmlns:tx="http://springframework.org/schema/tx"

xsi:schemaLocation="http://springframework.org/schema/beans

http://springframework.org/schema/beans/spring-beans-2.5.xsd

http://springframework.org/schema/context

http://springframework.org/schema/context/spring-context-2.5.xsd

http://springframework.org/schema/aop http://springframework.org/schema/aop/spring-aop-2.5.xsd

http://springframework.org/schema/tx http://springframework.org/schema/tx/spring-tx-2.5.xsd">

6、在com.model中创建模型类Student.Java

package com.model;

public class Student {

String studentid;// 主键

String name;// 姓名

String gender;// 性别

String age;// 年龄

public String getStudentid() {

return studentid;

}

public void setStudentid(String studentid) {

this.studentid = studentid;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getGender() {

return gender;

}

public void setGender(String gender) {

this.gender = gender;

}

public String getAge() {

return age;

}

public void setAge(String age) {

this.age = age;

}

}

7、根据Student.java生成对应的映射文件Student.hbm.xml

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

8、编写接口StudentService.java

package com.service;

import java.util.List;

public interface StudentService {

public List getStudentList(String page,String rows) throws Exception;//根据第几页获取,每页几行获取数据

public int getStudentTotal() throws Exception;//统计一共有多少数据

}

9、编写接口的实现类StudentServiceImpl.java

package com.serviceImpl;

import java.util.List;

import org.hibernate.SessionFactory;

import com.service.StudentService;

public class StudentServiceImpl implements StudentService {

private SessionFactory sessionFactory;

// 根据第几页获取,每页几行获取数据

public List getStudentList(String page, String rows) {

//当为缺省值的时候进行赋值

int currentpage = Integer.parseInt((page == null || page == "0") ? "1": page);//第几页

int pagesize = Integer.parseInt((rows == null || rows == "0") ? "10": rows);//每页多少行

List list = this.sessionFactory.getCurrentSession().createQuery("from Student")

.setFirstResult((currentpage - 1) * pagesize).setMaxResults(pagesize).list();

return list;

}

// 统计一共有多少数据

public int getStudentTotal() throws Exception {

return this.sessionFactory.getCurrentSession().find("from Student").size();

}

public SessionFactory getSessionFactory() {

return sessionFactory;

}

public void setSessionFactory(SessionFactory sessionFactory) {

this.sessionFactory = sessionFactory;

}

}

10、配置连接数据库的配置文件applicationContext_db.xml

xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xmlns:context="http://springframework.org/schema/context"

xmlns:aop="http://springframework.org/schema/aop" xmlns:tx="http://springframework.org/schema/tx"

xsi:schemaLocation="http://springframework.org/schema/beans

http://springframework.org/schema/beans/spring-beans-2.5.xsd

http://springframework.org/schema/context

http://springframework.org/schema/context/spring-context-2.5.xsd

http://springframhttp://ework.org/schema/aop http://springframework.org/schema/aop/spring-aop-2.5.xsd

http://springframework.org/schema/tx http://springframework.org/schema/tx/spring-tx-2.5.xsd">

destroy-method="close">

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@localhost:1521:orcl

lhq

lhq

1

40

1800

2

0

2

1800

30

true

false

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

org.hibernate.dialect.Oracle10gDialect

com/model/Student.hbm.xml

class="org.springframework.orm.hibernate3.HibernateTransactionManager">

xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xmlns:context="http://springframework.org/schema/context"

xmlns:aop="http://springframework.org/schema/aop" xmlns:tx="http://springframework.org/schema/tx"

xsi:schemaLocation="http://springframework.org/schema/beans

http://springframework.org/schema/beans/spring-beans-2.5.xsd

http://springframework.org/schema/context

http://springframework.org/schema/context/spring-context-2.5.xsd

http://springframhttp://ework.org/schema/aop http://springframework.org/schema/aop/spring-aop-2.5.xsd

http://springframework.org/schema/tx http://springframework.org/schema/tx/spring-tx-2.5.xsd">

destroy-method="close">

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@localhost:1521:orcl

lhq

lhq

1

40

1800

2

0

2

1800

30

true

false

destroy-method="close">

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@localhost:1521:orcl

lhq

lhq

1

40

1800

2

0

2

1800

30

true

false

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

org.hibernate.dialect.Oracle10gDialect

com/model/Student.hbm.xml

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

org.hibernate.dialect.Oracle10gDialect

com/model/Student.hbm.xml

class="org.springframework.orm.hibernate3.HibernateTransactionManager">

class="org.springframework.orm.hibernate3.HibernateTransactionManager">

11、在控制层编写StudentAction.java类型

package com.action;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONObject;

import org.apache.log4j.Logger;

import org.apache.struts2.ServletActionContext;

import com.service.StudentService;

public class StudentAction {

static Logger log = Logger.getLogger(StudentAction.class);

private JSONObject jsonObj;

private String rows;// 每页显示的记录数

private String page;// 当前第几页

private StudentService student_services;//String依赖注入

//查询出所有学生信息

public String getAllStudent() throws Exception {

log.info("查询出所有学生信息");

List list = student_services.getStudentList(page, rows);

this.toBeJson(list,student_services.getStudentTotal());

return null;

}

//转化为Json格式

public void toBeJson(List list,int total) throws Exception{

HttpServletResponse response = ServletActionContext.getResponse();

HttpServletRequest request = ServletActionContext.getRequest();

JSONObject jobj = new JSONObject();//new一个JSON

jobj.accumulate("total",total );//total代表一共有多少数据

jobj.accumulate("rows", list);//row是代表显示的页的数据

response.setCharacterEncoding("utf-8");//指定为utf-8

response.getWriter().write(jobj.toString());//转化为JSOn格式

log.info(jobj.toString());

}

public StudentService getStudent_services() {

return student_services;

}

public void setStudent_services(StudentService student_services) {

this.student_services = student_services;

}

public void setJsonObj(JSONObject jsonObj) {

this.jsonObj = jsonObj;

}

public void setRows(String rows) {

this.rows = rows;

}

public void setPage(String page) {

this.page = page;

}

}

12、编写spring的依赖注入applicationContext_bean.xml配置文件

xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xmlns:context="http://springframework.org/schema/context"

xmlns:aop="http://springframework.org/schema/aop" xmlns:tx="http://springframework.org/schema/tx"

xsi:schemaLocation="http://springframework.org/schema/beans

http://springframework.org/schema/beans/spring-beans-2.5.xsd

http://springframework.org/schema/context

http://springframework.org/schema/context/spring-context-2.5.xsd

http://springframework.org/schema/aop http://springframework.org/schema/aop/spring-aop-2.5.xsd

http://springframework.org/schema/tx http://springframework.org/schema/tx/spring-tx-2.5.xsd">

xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xmlns:context="http://springframework.org/schema/context"

xmlns:aop="http://springframework.org/schema/aop" xmlns:tx="http://springframework.org/schema/tx"

xsi:schemaLocation="http://springframework.org/schema/beans

http://springframework.org/schema/beans/spring-beans-2.5.xsd

http://springframework.org/schema/context

http://springframework.org/schema/context/spring-context-2.5.xsd

http://springframework.org/schema/aop http://springframework.org/schema/aop/spring-aop-2.5.xsd

http://springframework.org/schema/tx http://springframework.org/schema/tx/spring-tx-2.5.xsd">

13、编写struts.xml配置文件

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd">

14、编写JSP----index.jsp

<%@ page language="java" pageEncoding="utf-8" isELIgnored="false"%>

<%

String path = request.getContextPath();

%>

<%@ taglib prefix="s" uri="/struts-tags"%>

easyui的DataGrid实例

学生学号

姓名

性别

年龄

15、启动程序,输入http://localhost:8080/easyui/index.jsp进行测试。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Struts2学习笔记(2)
下一篇:Struts2学习笔记(5)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~