struts2+spring3+ibatis2.3+jquery_ajax1.7合成
实现页面无刷新分页显示数据
演示效果图:
工程目录:
部分代码展示:
Emp
package com.ssij.model;
import java.util.Date;
/**
* emp entity
* @author qiyang
*
*/
public class Emp {
private int empNo;
private String eName;
private double sal;
private Date hireDate;
public Emp() {
super();
}
public Emp(String eName, double sal, Date hireDate) {
super();
this.eName = eName;
this.sal = sal;
this.hireDate = hireDate;
}
public Emp(int empNo, String eName, double sal, Date hireDate) {
super();
this.empNo = empNo;
this.eName = eName;
this.sal = sal;
this.hireDate = hireDate;
}
public int getEmpNo() {
return empNo;
}
public void setEmpNo(int empNo) {
this.empNo = empNo;
}
public String geteName() {
return eName;
}
public void seteName(String eName) {
this.eName = eName;
}
public double getSal() {
return sal;
}
public void setSal(double sal) {
this.sal = sal;
}
public Date getHireDate() {
return hireDate;
}
public void setHireDate(Date hireDate) {
this.hireDate = hireDate;
}
@Override
public String toString() {
return empNo+", "+eName+", "+sal+", "+hireDate;
}
}
EmpDao
package com.ssij.dao;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import com.ssij.model.Emp;
public class EmpDao extends SqlMapClientDaoSupport{
/**
* find all emp info
* @return
*/
@SuppressWarnings("unchecked")
public List<Emp> findEmps(int pageSize,int pageNow){
System.out.println(" - dao find emps - ");
//sql语句的参数集
Map<String, Object> parameterMap = new HashMap<String, Object>();
parameterMap.put("p1", pageNow*pageSize);
parameterMap.put("p2", (pageNow-1)*pageSize);
//使用模板获取数据
List<Emp> emps = this.getSqlMapClientTemplate().queryForList("findAllEmps",parameterMap);
return emps;
}
/**
* add emp info
* @param emp
*/
public void addEmp(Emp emp){
}
/**
* delete from emp info by empNo
*/
public void delEmpByEmpNo(int empNo){
}
}
EmpService
package com.ssij.service;
import java.util.List;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import com.ssij.dao.EmpDao;
import com.ssij.model.Emp;
@Transactional(propagation=Propagation.REQUIRED)
public class EmpService {
private EmpDao empDao;
public void setEmpDao(EmpDao empDao) {
this.empDao = empDao;
}
/**
* find all emp info
* @return
*/
public List<Emp> findEmps(int pageSize,int pageNow){
System.out.println("-service findEmps-");
return empDao.findEmps(pageSize,pageNow);
}
/**
* add emp info
* @param emp
*/
public void addEmp(Emp emp){
empDao.addEmp(emp);
}
/**
* delete from emp info by empNo
*/
public void delEmpByEmpNo(int empNo){
empDao.delEmpByEmpNo(empNo);
}
}
EmpAction
package com.ssij.action;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
import com.ssij.model.Emp;
import com.ssij.service.EmpService;
/**
* controller emp
* @author qiyang
*
*/
public class EmpAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private EmpService empService;
//数据将转换为json格式
private List<Emp> emps;
//页码显示数量
private int pageSize;
//当前页码
private int pageNow;
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageNow() {
return pageNow;
}
public void setPageNow(int pageNow) {
this.pageNow = pageNow;
}
public void setEmps(List<Emp> emps) {
this.emps = emps;
}
public List<Emp> getEmps() {
return emps;
}
public void setEmpService(EmpService empService) {
this.empService = empService;
}
/**
* add emp info
* @return
*/
public String addEmp(){
return "index";
}
/**
* find all emps
* @return
*/
public String findEmps(){
System.out.println(" - action getEmps - ");
//默认显示4条数据
if(pageSize==0){pageSize=4;}
//检查页码
if(pageNow==0){pageNow=1;}
//调用业务逻辑获取数据
emps = empService.findEmps(pageSize,pageNow);
//测试数据
for (Emp emp : emps) {
System.out.println(emp);
}
return SUCCESS;
}
/**
* delete from emp by empNo
* @return
*/
public String delEmpByEmpNo(){
return "index";
}
}
配置文件:
beans.xml
<?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-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<!-- dataSource -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
<property name="username" value="scott" />
<property name="password" value="tiger" />
</bean>
<!-- spring and ibatis -->
<bean id="sf" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation">
<value>classpath:sqlMapConfig.xml</value>
</property>
</bean>
<!-- sqlMapClient - >dao -->
<bean id="empDao" class="com.ssij.dao.EmpDao">
<property name="sqlMapClient" ref="sf"></property>
</bean>
<!-- dao - > service -->
<bean id="empService" class="com.ssij.service.EmpService">
<property name="empDao" ref="empDao" />
</bean>
<!-- service - > action -->
<bean id="empAction" class="com.ssij.action.EmpAction">
<property name="empService" ref="empService"/>
</bean>
<!-- DataSourceTransaction -->
<bean id="tx" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- annotaion -->
<tx:annotation-driven transaction-manager="tx" />
</beans>
emp.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<typeAlias alias="emp" type="com.ssij.model.Emp"/>
<!-- find all emp -->
<select id="findAllEmps" parameterClass="java.util.HashMap" resultClass="emp">
<![CDATA[
select t2.empno,t2.ename,t2.sal,t2.hiredate from (select t1.*,rownum rn from (select * from emp_tb order by empno) t1 where rownum <=#p1#) t2 where rn>#p2#
]]>
</select>
<!-- add emp -->
<insert id="addEmp" parameterClass="emp">
insert into emp_tb values (#empNo#,#eName#,#sal#,#hireDate#)
</insert>
<!-- del emp -->
<delete id="delEmpByEmpNo" parameterClass="java.lang.Integer">
delete from emp_tb where empno=#empNo#
</delete>
</sqlMap>
sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="emp.xml" />
</sqlMapConfig>
struts.xml
<?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>
<!-- json-default 继承自struts-default -->
<package name="my_package" namespace="/emp" extends="json-default">
<!-- 此处采用通配符操作 -->
<action name="*_*" class="{1}" method="{2}">
<!-- 注意返回类型为json格式 -->
<result name="success" type="json"></result>
</action>
</package>
</struts>
index.html页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>index.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
<script type="text/javascript">
//初始化页码数
var pageNow = 1;
//初始化入口
$(function(){
getData(pageNow);
});
//根据当前页码,请求处理类获取相应数据
var getData = function(pageNow){
$.ajax({
url:"emp/empAction_findEmps?pageNow="+pageNow,
dataType:"json",
success:function(data){
//alert(data.emps);
eachEmp(data.emps);
}
});
}
//遍历数据到视图,并设置表格样式
var eachEmp = function(empList){
if(empList.length==0){
//alert("亲,已经到达最后一页!");
getData(--pageNow);
return false;
}
//将原始记录清空
$("#showInfo").html("");
//拼接所有记录到表格的行中
var html = "";
for(var i = empList.length-1 ;i>=0;i--){
html="<tr><td>"+
empList[i].empNo+"</td><td>"+
empList[i].eName+"</td><td>"+
empList[i].sal+"</td><td>"+
empList[i].hireDate+
"</td></tr>"+html;
}
//表格头部
var tb_head = "<tr><th>empNo</th>" +
"<th>eName</th><th>sal</th>" +
"<th>hireDate</th></tr>";
//将表格添加到div中
$("#showInfo").append("<table cellspacing='0'>"+tb_head+html+"</table>");
//设置表格底部的元素
$("table:first").append(
"<tr><td colspan='4'>" +
"<a href='#' id='up'>up</a> " +
"<a href='#' id='down'>down</a>" +
"</td></tr>");
//下一页
$("#down").click(function(){
getData(++pageNow);
return false;
});
//上一页
$("#up").click(function(){
if(pageNow==1){pageNow=2;}
getData(--pageNow);
return false;
});
/*注意,这种情况下最后才美化界面*/
$("#showInfo table").css({
"width":"500px"
});
$("#showInfo table tr td").css({
"line-height":"40px",
"border-top":"1px solid #ccc",
"text-align":"center"
});
$("#showInfo table tr:eq(0)").css({
"background-color":"blue",
"color":"white",
"line-height":"30px"
});
$("#showInfo table tr:gt(0):not(:last)").hover(
function(){
$(this).css({
"background-color":"#ccc",
"cursor":"pointer"
});
},function(){
$(this).css({
"background-color":"white"
});
}
);
}
</script>
</head>
<body>
<center>
<h1>HTML</h1>
<!-- <button id="mybtnShow">点击无刷新显示数据</button>-->
<div id="showInfo"></div>
</center>
</body>
</html>
谢谢你能够读完我的代码,最后希望您给点评价!谢谢
分享到:
相关推荐
Struts2、Spring3和iBATIS是Java Web开发中常用的三大框架,它们各自负责不同的职责,协同工作可以构建出高效、松耦合的Web应用。在这个“struts2+spring3+ibatis项目整合案例”中,我们将深入探讨这三个框架如何...
在"ssi_jar"这个压缩包中,可能包含了这三个框架的库文件,例如struts2相关的jar包(如struts2-core、struts2-convention等)、Spring的核心库(如spring-context、spring-web等)以及iBatis的库文件(如ibatis-3-...
struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+hibernate+spring+ibatis 小实例struts2+...
"Struts2+Spring+Ibatis+MySQL" 是一个经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用程序。这个组合集成了强大的MVC(Model-View-Controller)框架Struts2、依赖注入与面向切面编程的Spring框架、...
Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...
Struts2.0+Spring2.5.1+ibatis2.3的整合是一个常见的Java Web应用程序开发模式,主要用于构建高效、可维护性高的企业级系统。这种整合将Struts2作为表现层框架,Spring作为控制层和业务层框架,而iBatis则作为数据...
分为:struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _01部分 struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分 只要将这两个包全下载下来,就可以搭建struts2.1.8 + spring 2.5 + ibatis2整合开发的...
分为:struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _01部分 struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分 只要将这两个包全下载下来,就可以搭建struts2.1.8 + spring 2.5 + ibatis2整合开发的...
Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3 SSH
Struts2+Spring2.5+Ibatis2.3架构是一种经典的Java Web开发技术栈,广泛应用于企业级应用系统中。这个架构结合了Struts2的MVC框架、Spring的依赖注入(DI)和面向切面编程(AOP)以及Ibatis的持久层解决方案,为...
本演示示例主要使用目前最新,最流行技术Struts2.1 +Spring 2.5.1+ibatis2.3整合开发而成,这与我以前发布的版本中最大特色是整合了Spring2.5.1中的注解功能和半自动化工具ibatis技术,这是本示例的两大特色,简化了配置...
Struts2、Spring、iBatis和jQuery AJAX是Java Web开发中的四大核心技术,它们共同构建了一个功能强大的MVC(模型-视图-控制器)架构。本文将深入探讨这些技术在登录注册系统中的应用。 首先,Struts2是Apache基金会...
Struts2、Spring和iBatis是Java Web开发中三个非常重要的开源框架,它们的集成应用可以构建出高效、灵活的后端系统。Struts2作为MVC(Model-View-Controller)架构的一部分,主要负责处理HTTP请求和展示视图;Spring...
Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3内个框架的集成
Struts2、Spring和MyBatis是Java Web开发中经典的三大框架,它们分别负责MVC模式中的控制层、业务层和服务层。EasyUI则是一个基于jQuery的UI组件库,用于快速构建美观且响应式的Web应用界面。下面我们将深入探讨这三...
Struts2、Spring和iBatis是Java Web开发中三个非常重要的框架,它们分别负责表现层、业务层和数据访问层。将这三个框架整合在一起,可以实现MVC(Model-View-Controller)架构,提高应用的灵活性和可维护性。 **...
Struts 2、Spring 和 iBatis 是三个非常重要的 Java 开发框架,它们在构建企业级应用程序时扮演着核心角色。这个压缩包包含了这些框架的特定版本和其他相关的库,为开发人员提供了一套完整的集成环境。 Struts 2 是...
Struts1.1+Spring2.5+Ibatis2.3+Ajax整合是一个经典的Java Web开发框架组合,常用于构建企业级应用。这个源代码集合提供了如何将这四个技术有效地结合在一起的实例,以实现一个功能强大的、具有无刷新特性的用户界面...