`

struts2+spring3+ibatis2.3+jquery_ajax1.7

阅读更多
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>&nbsp;&nbsp;" +
  			"<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>



谢谢你能够读完我的代码,最后希望您给点评价!谢谢
分享到:
评论
10 楼 supershang8 2016-06-10  
解压密码是多少啊
9 楼 supershang8 2016-06-10  
解压密码是多少啊
8 楼 hjz3618 2016-05-04  
解压密码是多少?
7 楼 shenlanfxj 2015-09-10  
学习了,非常不错
6 楼 gq131 2015-06-08  
  
5 楼 accpyouguo 2015-05-17  
changyonggang 写道
楼主,麻烦可以提供一下jar包吗,非常感谢

4 楼 changyonggang 2015-01-12  
楼主,麻烦可以提供一下jar包吗,非常感谢
3 楼 changyonggang 2015-01-12  
sajdbasdh 写道
解压密码是多少啊??

同求!
2 楼 sajdbasdh 2014-12-08  
解压密码是多少啊??
1 楼 kw543178 2014-11-10  
源代码解压密码多少,新手参考下,谢谢

相关推荐

    struts2+spring3+ibatis项目整合案例

    Struts2、Spring3和iBATIS是Java Web开发中常用的三大框架,它们各自负责不同的职责,协同工作可以构建出高效、松耦合的Web应用。在这个“struts2+spring3+ibatis项目整合案例”中,我们将深入探讨这三个框架如何...

    struts2+spring+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+hibernate+spring+ibatis 小实例struts2+...

    struts2+spring+ibatis+mysql

    "Struts2+Spring+Ibatis+MySQL" 是一个经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用程序。这个组合集成了强大的MVC(Model-View-Controller)框架Struts2、依赖注入与面向切面编程的Spring框架、...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    Struts2.0+Springframework2.5+ibatis2.3完美整合实例

    Struts2.0+Spring2.5.1+ibatis2.3的整合是一个常见的Java Web应用程序开发模式,主要用于构建高效、可维护性高的企业级系统。这种整合将Struts2作为表现层框架,Spring作为控制层和业务层框架,而iBatis则作为数据...

    struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分

    分为: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 整合开发包_ _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(第二部分)

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3 SSH

    Struts2+Spring2.5+Ibatis2.3架构

    Struts2+Spring2.5+Ibatis2.3架构是一种经典的Java Web开发技术栈,广泛应用于企业级应用系统中。这个架构结合了Struts2的MVC框架、Spring的依赖注入(DI)和面向切面编程(AOP)以及Ibatis的持久层解决方案,为...

    Struts2.0+Springframework2.5+ibatis2.3完美整合用户登录及增删改查

    本演示示例主要使用目前最新,最流行技术Struts2.1 +Spring 2.5.1+ibatis2.3整合开发而成,这与我以前发布的版本中最大特色是整合了Spring2.5.1中的注解功能和半自动化工具ibatis技术,这是本示例的两大特色,简化了配置...

    struts2+spring+ibatis+jquery ajax的登陆注册实时验证

    Struts2、Spring、iBatis和jQuery AJAX是Java Web开发中的四大核心技术,它们共同构建了一个功能强大的MVC(模型-视图-控制器)架构。本文将深入探讨这些技术在登录注册系统中的应用。 首先,Struts2是Apache基金会...

    struts2+spring2+ibatis

    Struts2、Spring和iBatis是Java Web开发中三个非常重要的开源框架,它们的集成应用可以构建出高效、灵活的后端系统。Struts2作为MVC(Model-View-Controller)架构的一部分,主要负责处理HTTP请求和展示视图;Spring...

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3(第一部分)

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3内个框架的集成

    struts2+spring+mybatis+easyui的实现

    Struts2、Spring和MyBatis是Java Web开发中经典的三大框架,它们分别负责MVC模式中的控制层、业务层和服务层。EasyUI则是一个基于jQuery的UI组件库,用于快速构建美观且响应式的Web应用界面。下面我们将深入探讨这三...

    Struts2+Spring2+iBatis2整合的例子

    Struts2、Spring和iBatis是Java Web开发中三个非常重要的框架,它们分别负责表现层、业务层和数据访问层。将这三个框架整合在一起,可以实现MVC(Model-View-Controller)架构,提高应用的灵活性和可维护性。 **...

    struts-2.0.11+spring-2.5+ibatis-2.3及其它各种jar包

    Struts 2、Spring 和 iBatis 是三个非常重要的 Java 开发框架,它们在构建企业级应用程序时扮演着核心角色。这个压缩包包含了这些框架的特定版本和其他相关的库,为开发人员提供了一套完整的集成环境。 Struts 2 是...

    Struts1.1+spring2.5+ibatis2.3+Ajax整合的源代码

    Struts1.1+Spring2.5+Ibatis2.3+Ajax整合是一个经典的Java Web开发框架组合,常用于构建企业级应用。这个源代码集合提供了如何将这四个技术有效地结合在一起的实例,以实现一个功能强大的、具有无刷新特性的用户界面...

Global site tag (gtag.js) - Google Analytics