一、建Web Project,导入SSH2框架
二、在WebRoot下建给文件夹script,里面放入如下文件:
1.themes(可以给ui换主题)
2.jquery-1.8.0.min.js(可能会报错,不用管)
3.jquery.easyui.min.js
4.easyui-lang-zh_CN.js(国际化文件)
5.book.js(脚本)
三、entity和entity的映射文件
Book:
package org.ajax.entity; import java.sql.Timestamp; /** * Book entity. @author MyEclipse Persistence Tools */ public class Book implements java.io.Serializable { // Fields private Integer id; private String isbn; private String title; private Double price; private Timestamp pubdate; private String intro; // Constructors /** default constructor */ public Book() { } /** minimal constructor */ public Book(Double price, Timestamp pubdate) { this.price = price; this.pubdate = pubdate; } /** full constructor */ public Book(String isbn, String title, Double price, Timestamp pubdate, String intro) { this.isbn = isbn; this.title = title; this.price = price; this.pubdate = pubdate; this.intro = intro; } // Property accessors public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public String getIsbn() { return this.isbn; } public void setIsbn(String isbn) { this.isbn = isbn; } public String getTitle() { return this.title; } public void setTitle(String title) { this.title = title; } public Double getPrice() { return this.price; } public void setPrice(Double price) { this.price = price; } public Timestamp getPubdate() { return this.pubdate; } public void setPubdate(Timestamp pubdate) { this.pubdate = pubdate; } public String getIntro() { return this.intro; } public void setIntro(String intro) { this.intro = intro; } }
Book.hbm.xml:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Mapping file autogenerated by MyEclipse Persistence Tools --> <hibernate-mapping> <class name="org.ajax.entity.Book" table="BOOK" schema="y2"> <id name="id" type="java.lang.Integer"> <column name="ID" length="200" /> <generator class="sequence"> <param name="sequence">book_seq</param> </generator> </id> <property name="isbn" type="java.lang.String"> <column name="ISBN" length="100" /> </property> <property name="title" type="java.lang.String"> <column name="TITLE" length="2048" /> </property> <property name="price" type="java.lang.Double"> <column name="PRICE" precision="126" scale="0" not-null="true" /> </property> <property name="pubdate" type="java.sql.Timestamp"> <column name="PUBDATE" length="11" not-null="true" /> </property> <property name="intro" type="java.lang.String"> <column name="INTRO" length="4000" /> </property> </class> </hibernate-mapping>
四、dao和daoImpl
package org.ajax.dao; import java.util.List; import org.ajax.entity.Book; /** * 接口 * * @author miao * */ public interface BookDao { /** * 查询所有书籍 * * @return */ public List<Book> find(); /** * 添加书籍 * * @param book * @return */ public int add(Book book); /** * 删除书籍 * * @param id * @return */ public int delete(int id); /** * 获得一书籍记录 * * @param id * @return */ public Book findById(int id); /** * 更新书籍 * * @param book * @return */ public int update(Book book); /** * 统计书籍共多少本 * * @return */ public long findTotal(); /** * 查询一页的数据 * * @param begin 从哪条开始0 * @param end 得到多少条 * @param sort 排序字段 * @param order 升序或降序 desc/asc */ public List<Book> findPageBooks(int begin, int end, String sort, String order); }
package org.ajax.dao.impl; import java.sql.SQLException; import java.util.List; import org.ajax.dao.BookDao; import org.ajax.entity.Book; import org.hibernate.Criteria; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.Order; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * 接口实现类 * * @author miao * */ public class BookDaoImpl extends HibernateDaoSupport implements BookDao { @SuppressWarnings("unchecked") public List<Book> find() { DetachedCriteria criteria = DetachedCriteria.forClass(Book.class); criteria.addOrder(Order.desc("pubdate")); return super.getHibernateTemplate().findByCriteria(criteria); } public int add(Book book) { return (Integer) super.getHibernateTemplate().save(book); } public int delete(int id) { return super.getHibernateTemplate().bulkUpdate("delete from Book b where b.id=?", id); } public Book findById(int id) { return (Book) super.getHibernateTemplate().get(Book.class, id); } public int update(Book book) { return super.getHibernateTemplate().bulkUpdate( "update Book b set b.isbn = ?, b.title = ?, b.price = ?," + "b.pubdate = ?, b.intro = ? where b.id = ?", new Object[] { book.getIsbn(), book.getTitle(), book.getPrice(), book.getPubdate(), book.getIntro(), book.getId() }); } public long findTotal() { return (Long) super.getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { return (Long) session.createQuery("select count(*) from Book").uniqueResult(); } }); } /** * 查询一页的数据 * * @param begin 从哪条开始0 * @param end 得到多少条 * @param sort 排序字段 * @param order 升序或降序 desc/asc */ @SuppressWarnings("unchecked") public List<Book> findPageBooks(final int begin, final int end, final String sort, final String order) { // 当要用到原生的Hibernate的Session的时候,这种最灵活,可以使用Query和Criteria,不用着急管理会话和事 return super.getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = session.createCriteria(Book.class); if ("desc".equals(order)) { criteria.addOrder(Order.desc(sort)); } else { criteria.addOrder(Order.asc(sort)); } criteria.setFirstResult(begin).setMaxResults(end); return criteria.list(); } }); } }
五、biz和bizImpl
package org.ajax.biz; import java.util.List; import org.ajax.entity.Book; /** * 业务类 * * @author miao * */ public interface BookBiz { /** * 查询所有书籍 * * @return */ public List<Book> findAllBooks(); /** * 添加书籍 * * @param book * @return */ public int addBook(Book book); /** * 删除书籍 * * @param id * @return */ public int deleteBook(int id); /** * 获得一书籍记录 * * @param id * @return */ public Book findBook(int id); /** * 更新书籍 * * @param book * @return */ public int updateBook(Book book); /** * 统计书籍共多少本 * * @return */ public long findTotal(); /** * 查询一页的数据 * * @param page 当前页号 * @param size 页面大小 * @param sort 排序字段 * @param order 升序或降序 desc/asc */ public List<Book> findPageBooks(int page, int size, String sort, String order); }
package org.ajax.biz.impl; import java.util.List; import org.ajax.biz.BookBiz; import org.ajax.dao.BookDao; import org.ajax.entity.Book; /** * 业务实现类 * * @author miao * */ public class BookBizImpl implements BookBiz { private BookDao bookDao; public void setBookDao(BookDao bookDao) { this.bookDao = bookDao; } public List<Book> findAllBooks() { return bookDao.find(); } public int addBook(Book book) { return bookDao.add(book); } public int deleteBook(int id) { return bookDao.delete(id); } public Book findBook(int id) { return bookDao.findById(id); } public int updateBook(Book book) { return bookDao.update(book); } public long findTotal() { return bookDao.findTotal(); } /** * 查询一页的数据 * * @param page 当前页号 * @param size 页面大小 * @param sort 排序字段 * @param order 升序或降序 desc/asc */ public List<Book> findPageBooks(int page, int size, String sort, String order) { int begin = (page - 1) * size; return bookDao.findPageBooks(begin, size, sort, order); } }
六、action
package org.ajax.action; import java.util.HashMap; import java.util.Map; import org.ajax.biz.BookBiz; import org.ajax.entity.Book; import com.opensymphony.xwork2.ActionSupport; /** * Action * @author miao * */ public class BookAction extends ActionSupport { // 调用业务类 private BookBiz bookBiz; private Book book; // 一本书 private int page;// 当前第几页 private Map<String, Object> data = new HashMap<String, Object>();// 封装数据 private int size;// 页面大小,页面是rows private String order;// 排序方向,desc和asc private String sort;// 排序属性名,如price // 标识操作是否成功 private boolean operateSuccess; // set注入 public void setBookBiz(BookBiz bookBiz) { this.bookBiz = bookBiz; } /* * 给easyui排序用的,表示排序方法 */ public void setOrder(String order) { this.order = order; } /* * 给easyui排序用的,表示排序字段 */ public void setSort(String sort) { this.sort = sort; } /* * 给easyui指定页面大小用的,如果要指定页面大小可变 * 页面是rows */ public void setRows(int size) { this.size = size; } /* * 给easyui分页用的 */ public void setPage(int page) { this.page = page; } // getter/setter方法 public Book getBook() { return book; } public int getPage() { return page; } public Map<String, Object> getData() { return data; } public void setData(Map<String, Object> data) { this.data = data; } public int getRows() { return size; } public String getOrder() { return order; } public String getSort() { return sort; } public void setBook(Book book) { this.book = book; } public boolean isOperateSuccess() { return operateSuccess; } public void setOperateSuccess(boolean operateSuccess) { this.operateSuccess = operateSuccess; } /** * 查询某一页的书籍 */ public String list() { data.clear();// 清除 if (sort == null) { sort = "title";// 默认按书名排序 } if (order == null) { order = "asc";// 默认按升序排序 } data.put("rows", bookBiz.findPageBooks(page, size, sort, order));// 得到某一页的数据 data.put("total", bookBiz.findTotal());// 得到所有的记录数 return SUCCESS; } /** * 添加书籍 */ public String addBook() { operateSuccess = (bookBiz.addBook(book) > 0); return SUCCESS; } /** * 更新书籍 */ public String updateBook() { operateSuccess = (bookBiz.updateBook(book) > 0); return SUCCESS; } /** * 删除书籍 */ public String deleteBook() { operateSuccess = (bookBiz.deleteBook(book.getId()) > 0); return SUCCESS; } /** * 查询一本书 */ public String findBook() { book = bookBiz.findBook(book.getId()); return SUCCESS; } }
七、spring配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"> <!-- 数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"> </property> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"> </property> <property name="username" value="y2"></property> <property name="password" value="bdqn"></property> </bean> <!-- 会话工厂 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.Oracle10gDialect </prop> <prop key="show_sql">true</prop> <prop key="format_sql">true</prop> </props> </property> <property name="mappingResources"> <list> <value>org/ajax/entity/Book.hbm.xml</value> </list> </property> </bean> <!-- dao --> <bean id="bookDao" class="org.ajax.dao.impl.BookDaoImpl"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- biz --> <bean id="bookBiz" class="org.ajax.biz.impl.BookBizImpl"> <property name="bookDao" ref="bookDao" /> </bean> <!-- action --> <bean id="bookAction" class="org.ajax.action.BookAction"> <property name="bookBiz" ref="bookBiz" /> </bean> <!-- 配置事务 --> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 定义事务通知 --> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="add*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> <tx:method name="delete*" propagation="REQUIRED" /> <tx:method name="find*" propagation="SUPPORTS" read-only="true" /> </tx:attributes> </tx:advice> <!-- 定义哪些方法可以使用这些规则 --> <aop:config> <aop:pointcut id="bizMethod" expression="execution(* org.ajax.biz.*.*(..))" /> <!-- 将事务通知与应用规则的方法组合 --> <aop:advisor advice-ref="txAdvice" pointcut-ref="bizMethod" /> </aop:config> </beans>
八、struts配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <!-- 由spring管理 --> <constant name="stuts.objectFactory" value="spring" /> <!-- 打开开发模式 --> <constant name="struts.devMode" value="true" /> <package name="book" extends="json-default" namespace="/"> <!-- 显示所有的书籍 --> <action name="list" class="bookAction" method="list"> <!-- 指定的属性作为根元素输出 --> <result type="json"> <param name="root">data</param> </result> </action> <!-- 添加书籍 --> <action name="addBook" class="bookAction" method="addBook"> <result type="json" /> </action> <!-- 删除书籍 --> <action name="deleteBook" class="bookAction" method="deleteBook"> <result type="json" /> </action> <!-- 得到一本书 --> <action name="findBook" class="bookAction" method="findBook"> <result type="json" /> </action> <!-- 更新书籍 --> <action name="updateBook" class="bookAction" method="updateBook"> <result type="json" /> </action> </package> </struts>
九、页面,book.jsp
<%@ page language="java" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.ddd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <base href="<%=basePath%>" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="script/themes/default/easyui.css" /> <link rel="stylesheet" type="text/css" href="script/themes/icon.css" /> <script type="text/javascript" src="script/jquery-1.8.0.min.js"></script> <script type="text/javascript" src="script/jquery.easyui.min.js"></script> <script type="text/javascript" src="script/easyui-lang-zh_CN.js"></script> <link rel="stylesheet" href="style/book.css" type="text/css" /> <script type="text/javascript" src="script/book.js"></script> <title>书籍操作</title> </head> <body> <div id="main"> <table id="bookbody"> </table> </div> <!-- 编辑数据的div,默认看不到 --> <div id="divEdit"> <div id="tabEdit"> <form id="frmEdit"> <input type="hidden" id="id" name="book.id" /> <dl> <dd> ISBN: </dd> <dd> <input type="text" size="15" id="isbn" name="book.isbn" /> </dd> </dl> <dl> <dd> 书名: </dd> <dd> <input type="text" size="40" id="title" name="book.title" /> </dd> </dl> <dl> <dd> 价格¥: </dd> <dd> <input type="text" size="10" id="price" name="book.price" /> </dd> </dl> <dl> <dd> 出版日期: </dd> <dd> <input type="text" style="width: 150px" id="pubdate" name="book.pubdate" /> </dd> </dl> <dl> <dd> 简介: </dd> <dd> <textarea cols="45" rows="3" id="intro" name="book.intro"></textarea> </dd> </dl> </form> </div> </div> </body> </html>
十、脚本文件,book.js
//JQuery的入口 $(function() { listBook(); // 日期加上日期控件 $("#pubdate").datebox({ required : true }); // 给文本框加上验证器 $("#isbn").validatebox({ required : true }); // 书名的验证 $("#title").validatebox({ required : true, missingMessage : '书名不能为空' }); // 价格用货币验证框 $("#price").numberbox({ required : true, min : 5.5, max : 9999, precision : 2, missingMessage : '请输入价格' }); // 简介加验证 $("#intro").validatebox({ required : true }); }); // 加载书籍列表 function listBook() { $("#bookbody").datagrid({ width : 600, height : "auto", iconCls : 'icon-help', // 表格左上角的图标样式 url : 'list.action', // 访问服务器的地址,要求返回JSON对象 rownumbers : true, // 在最前面显示行号 fitColumns : true, // 自动适应列宽 pagination : true, // 在底部显示分页工具栏 striped : true, // 隔行变色 singleSelect : true, // 每次只选中一行 loadMsg : '加载书籍列表ing……', pageSize : 5, // 指定每页的大小,服务器要加上page属性和total属性 remoteSort : true, // 从服务器端排序,默认true pageList : [ 3, 5, 10 ], // 可以设置每页记录条数的列表,服务器要加上rows属性 idField : 'id', // 主键属性 toolbar : [ {// 工具栏 text : '添加', iconCls : 'icon-add', // 图标 handler : function() { // 处理函数 addBook(); } }, { text : '删除', iconCls : 'icon-cancel', // 图标 handler : function() { // 处理函数 deleteBook(); } }, { text : '编辑', iconCls : 'icon-edit',// 图标 handler : function() {// 处理函数 editBook(); } } ], columns : [ [ { field : 'isbn', title : 'ISBN', width : 70 }, { field : 'title', title : '书籍名称', // 可以排序,但服务器也完成相应的代码,要加入sort和order属性 sortable : true }, { field : 'price', title : '价格', align : 'right', width : 60, sortable : true, formatter : function(value) { return "$" + value; } }, { field : 'pubdate', title : '出版日期', sortable : true, formatter : function(value) { return value.substring(0, 10); } } ] ] }); } // 显示编辑窗口 function showEditForm() { $("#tabEdit").dialog({ modal : true,// 模式窗口 title : '书籍操作', iconCls : 'icon-save', buttons : [ { text : '确认', handler : function() { // 进行表单字段验证,当全部字段都有效时返回true和validatebox一起使用 if ($('#frmEdit').form('validate')) { // 提交到服务器并写入数据库 dealSave(); // 关闭窗口 closeForm(); } else { $.messager.alert('验证', '书籍信息有误或不完整', 'error'); } } }, { text : '取消', handler : function() { closeForm(); } } ] }); } // 关闭窗口 function closeForm() { $("#frmEdit").form('clear'); $('#tabEdit').dialog('close'); } // 添加的函数 function addBook() { // 清空原有的数据 $('#frmEdit').form('clear'); // 显示添加对话框 showEditForm(); } // 编辑按钮的操作 function editBook() { var book = $('#bookbody').datagrid('getSelected');// 得到选中的一行数据 // 如果没有选中记录 if (book == null) { $.messager.alert('书籍', '请先选中要编辑的书籍', 'info'); return; } $('#frmEdit').form('clear'); // 填充数据 $("#id").val(book.id); $("#isbn").val(book.isbn); $("#title").val(book.title); $("#price").numberbox("setValue", book.price); // 给默认值 $("#pubdate").datebox("setValue", book.pubdate.substring(0, 10)); $("#intro").val(book.intro); // 显示编辑页面 showEditForm(); } // 在增加和更新时点确定按钮的处理函数 function dealSave() { // 表单数据序列化成一个字符串用&拼接 var params = $("#frmEdit").serialize(); // 得到id的值,为空串表示添加 if ($("#id").val() == "") { $.post("addBook.action", params, function(result) { if (result.operateSuccess) { $('#bookbody').datagrid('reload');// 重新加载 $.messager.alert('添加', '添加成功', 'info'); } else { $.messager.alert('添加', '添加失败', 'warning'); } }); } else { // 表示更新 $.post("updateBook.action", params, function(result) { if (result.operateSuccess) { $('#bookbody').datagrid('reload');// 重新加载 $.messager.alert('更新', '更新成功', 'info'); } else { $.messager.alert('更新', '更新失败', 'warning'); } }); } } // 删除书籍 function deleteBook() { var book = $('#bookbody').datagrid('getSelected');// 得到选中的一行数据 // 如果没有选中记录 if (book == null) { $.messager.alert('删除', '请先选中要删除的书籍', 'info'); return; } $.messager.confirm('确认', '真的要删除选中的记录吗?', function(r) { if (r) { var url = "deleteBook.action?book.id=" + book.id; // 试一下get方法(地址,回调函数) $.get(url, function(result) { if (result.operateSuccess) { $.messager.alert('删除', '选中的书籍成功删除!', 'info'); // 重新加载 $("#bookbody").datagrid('reload'); } else { $.messager.alert('删除', '删除失败!', 'warning'); } }); } }); }
十一、css,book.css
#divEdit { display: none; } * { font: 12px Arial; } div#main { margin: 0px auto; width: 600px; } #tabEdit input[type="text"],#tabEdit textarea { border: solid #66ccff 1px; } #tabEdit dl { padding-right: 35px; }
十二、demo
相关推荐
SSH+jQuery EasyUI后台管理系统是一种基于Struts2(S)、Spring(S)和Hibernate(H)三大开源框架的Web应用程序开发模式,结合jQuery EasyUI前端框架,构建出高效、简洁且具有现代感的后台管理界面。这个系统设计的...
在这个基于SSH + jQuery EasyUI的通讯录Demo中,我们将深入探讨这两个技术如何协同工作,实现一个具有基本增删改查功能的通讯录应用。 **1. Struts2:MVC框架** Struts2作为MVC(Model-View-Controller)框架,负责...
下面将详细解释这些技术及其在实现增删改查、分页和排序功能中的作用。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它简化了Java应用的开发,提供了处理HTTP请求、控制应用程序...
基于ssh+mysql+easyui的酒店客房管理系统.zip基于ssh+mysql+easyui的酒店客房管理系统.zip基于ssh+mysql+easyui的酒店客房管理系统.zip基于ssh+mysql+easyui的酒店客房管理系统.zip基于ssh+mysql+easyui的酒店客房...
【标题】"easyui+ssh增删改查"是一个典型的Web开发教程,旨在帮助初学者理解和实践基于EasyUI和Spring Struts Hibernate(SSH)框架的数据管理功能。EasyUI是一个基于jQuery的前端用户界面库,而SSH是Java后端常用的...
ERP Demo SSH+MySQL+easyUI ERP Demo SSH+MySQL+easyUI ERP Demo SSH+MySQL+easyUI ERP Demo SSH+MySQL+easyUI
基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台4
JQueryEasyUI是一个基于jQuery的UI库,它为开发人员提供了大量的UI组件,如表格、表单、按钮、对话框、菜单、树等,使得Web应用的界面开发更加高效。EasyUI的核心理念是简化HTML布局,通过CSS样式和JavaScript插件...
【标题】"springboot+mybatis+easyui增删改查分页Demo"是一个基于Spring Boot、MyBatis和EasyUI实现的Web应用程序示例,主要用于演示如何在这些技术栈中进行基本的数据操作,如添加(Add)、删除(Delete)、修改...
在本项目中,我们主要探讨的是一个基于"Maven+Spring+SpringMVC+Hibernate+EasyUI"技术栈实现的典型企业级应用系统,主要用于完成基本的CRUD(增删改查)操作。以下是对这些技术及其在项目中的作用的详细说明: 1. ...
该压缩包文件“jbpm4.4+ssh+oracle + jqueryeasyui请假审批系统”包含了一个基于特定技术栈的工作流管理应用,旨在实现一个完整的请假审批流程。这个系统利用了jbpm4.4(Java Business Process Management)作为工作...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业...基于SSM+jQuery EasyUI开发的生产管理ERP系统源码+项目说明(高分毕设).zip
struts2+hibernate3+mysql+jqueryeasyui1.3+myeclipse8.0 实现了用户信息分页,增删改操作,内有sql语句,项目直接导入就行了,适合初学者练练手 欢迎继续修改
jQuery EasyUI则是一个基于jQuery的UI库,提供了丰富的组件和易于使用的API,用于快速构建现代、响应式的Web应用界面。 在这个"ssm+jqueryeasyui案例"中,我们可以学习如何将这三者结合,构建出功能完善的Web应用。...
项目使用SSH架构,界面纯粹使用Jquery-easyui,数据库使用oracle。这只是系统中一个很小的模块,适合初学者学习。传输数据的方式使用Ajax,json,数据动态生成饼状图,柱状图。实现了excel表的导入导出。希望给诸位...
这里,我们深入探讨一下使用jQuery EasyUI与SSH框架进行数据操作(增删改查)的基础知识。 jQuery EasyUI是一个基于jQuery的前端框架,它提供了一系列轻量级、易于使用的组件,如表格、对话框、菜单等,用于构建富...
本项目实例——"spring3 mvc + mybatis + jquery easyui例子",就是这样一个典型的案例,它利用Spring3 MVC作为后端MVC框架,MyBatis作为持久层解决方案,jQuery EasyUI作为前端界面库,共同打造了一个基础的用户、...
**Jquery EasyUI**是一个基于jQuery的UI库,它提供了大量的预定义的组件和主题,如对话框、表格、表单、菜单等,简化了前端开发。在这个登录系统中,Jquery EasyUI可能被用来创建登录表单的样式和交互效果,如按钮...
数据库采用Oracle,开发工具为MyEclipse,本人是新手。按照源码里的BOOK表字段在Oracle中创建表后,是可以跑起来的。只不过,数据库交互中出现了问题,数据没有显示到JSP界面中,希望大神们可以帮忙一起看看问题所在...