`

分页显示 (SSH实现+Ajax读取json)

阅读更多
数据分页显示(SSH实现+Ajax读取json)


1.bean类:pageInfo.java
package com.org.momo.bean;

public class PageInfo {
     private Integer pageRows ;    //每页行数
     private Integer currentPage ; //当前页数
     private Integer pageTotal ;   //页面总数
     
     
	public Integer getPageRows() {
		return pageRows;
	}
	public void setPageRows(Integer pageRows) {
		this.pageRows = pageRows;
	}
	public Integer getCurrentPage() {
		return currentPage;
	}
	public void setCurrentPage(Integer currentPage) {
		this.currentPage = currentPage;
	}
	public Integer getPageTotal() {
		return pageTotal;
	}
	public void setPageTotal(Integer pageTotal) {
		this.pageTotal = pageTotal;
	}
   
}




2.dao接口:
package com.org.momo.dao;

import java.util.List;

import com.org.momo.bean.PageInfo;
import com.org.momo.bean.Team;

public interface TeamDao {
    public void insert(Team team) throws Exception ;
    public void deleteById(Integer id) throws Exception ;
    public Team findById(Integer id) throws Exception ;
    public List<Team> findAll() throws Exception ;
    public void update(Team team) throws Exception ;
    public List<Team> findAllPage(PageInfo pageInfo) throws Exception ;
}





3.dao接口实现类,有两种实现底层数据查询: 
  a.Hibernate自身实现 
   b.spring对Hibernate的支持HibernateTemplate实现

a.Hibernate自身实现:
package com.org.momo.dao.hibernateTemplate;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

import com.org.momo.bean.PageInfo;
import com.org.momo.bean.Team;
import com.org.momo.dao.TeamDao;
import com.org.momo.util.HibernateUtil;
/**
 *   此方法为Hibernate自身的类实现底层数据访问
 *   另外一种实现方式就是:spring对Hibernate的支持HibernateTemplate(见下一个
 *   类 TeamDaoHibernateTemplate.java
 *   )
 * */

public class TeamDaoHibernate implements TeamDao {
	private SessionFactory sessionFactory;
	
	public TeamDaoHibernate() {
		sessionFactory = HibernateUtil.getSessionFactory();
	}

	public void insert(Team team) throws Exception {
		Session session = sessionFactory.openSession();
		
		Transaction transaction = session.beginTransaction();
		session.save(team);
		transaction.commit();
		
		session.close() ;
	}

	public void deleteById(Integer id) throws Exception {
		Session session = sessionFactory.openSession();
		Transaction transaction = session.beginTransaction();
		
		String hql = "delete from Team where id=?";
		Query query = session.createQuery(hql);
		query.setInteger(0, id);
		query.executeUpdate();
		
		transaction.commit();
		session.close();
	}

	public void update(Team team) throws Exception {
		Session session = sessionFactory.openSession();
		Transaction transaction = session.beginTransaction();
		
		session.merge(team);
		
		transaction.commit();
		session.close();
	}

	public List<Team> findAll() throws Exception {
		List<Team> teams = null;
		
		Session session = sessionFactory.openSession();
		
		Query query = session.createQuery("from Team");
		teams = query.list();
		
		session.close();
		
		return teams;
	}

	public Team findById(Integer id) throws Exception {
		Team team = null;
		
		Session session = sessionFactory.openSession();
		Query query = session.createQuery("from Team where id=?");
		query.setInteger(0, id);
		team = (Team)query.uniqueResult();
		session.close();
		
		return team;
	}

	public List<Team> findAllPage(PageInfo pageInfo) throws Exception {
		List<Team> teams = null;
		
		Session session = sessionFactory.openSession();
		
		Query queryTotal = session.createQuery("select count(id) from Team");
		int rowCount = ((Long)queryTotal.uniqueResult()).intValue() ;  //先转换为Long 在转换为int
		int pageTotal = rowCount/pageInfo.getPageRows();
		if(rowCount%pageInfo.getPageRows() > 0) {
			pageTotal++;
		}
		pageInfo.setPageTotal(pageTotal);
		
		Query query = session.createQuery("from Team");
		query.setFirstResult(pageInfo.getPageRows()*(pageInfo.getCurrentPage()-1));
		query.setMaxResults(pageInfo.getPageRows());
		teams = query.list();
		
		session.close();
		
		return teams;
	}

}



package com.org.momo.util;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;


public class HibernateUtil {
	  private static final SessionFactory sessionFactory;
      static{
    	  try{
    		  //初始化hibernate.cfg.xml配置,建立数据库连接
    		  sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
    	  }catch(Exception e){
    		  e.printStackTrace() ;
    		  throw new ExceptionInInitializerError(e) ;
    	  }
      }
      
      public static SessionFactory getSessionFactory(){
    	  return sessionFactory ;
      }
}


[color=brown]applicationContext.xml文件配置映射:
<bean id="teamDao" class="com.org.momo.dao.hibernateTemplate.TeamDaoHibernate"></bean>[/color]


b.spring对Hibernate的支持HibernateTemplate实现:
package com.org.momo.dao.hibernateTemplate;

import java.sql.SQLException;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.org.momo.bean.PageInfo;
import com.org.momo.bean.Team;
import com.org.momo.dao.TeamDao;

public class TeamDaoHibernateTemplate extends HibernateDaoSupport implements TeamDao {

	public void deleteById(Integer id) throws Exception {
        Team team = this.getHibernateTemplate().load(Team.class, id) ;
		this.getHibernateTemplate().delete(team) ;
	}

	public List<Team> findAll() throws Exception {
		return this.getHibernateTemplate().loadAll(Team.class);
	}

	public Team findById(Integer id) throws Exception {
		List<Team> teams = this.getHibernateTemplate().find("from Team where id=?",id) ;
		if(!teams.isEmpty()){
			return teams.get(0) ;
		}else{
		return null;
		}
	}

	public void insert(Team team) throws Exception {
		this.getHibernateTemplate().save(team) ;
	}

	public void update(Team team) throws Exception {
		this.getHibernateTemplate().update(team);
	}

	public List<Team> findAllPage(final PageInfo pageInfo) throws Exception {
		List<Team> teams = null;
		
		int rowTotal = ((Long)this.getHibernateTemplate().find("select count(id) from Team").get(0)).intValue();
		int pageTotal = rowTotal/pageInfo.getPageRows();
		if(rowTotal%pageInfo.getPageRows() > 0) {
			pageTotal++;
		}
		pageInfo.setPageTotal(pageTotal);
		
		teams = this.getHibernateTemplate().executeFind(new HibernateCallback(){
			public Object doInHibernate(Session session)
					throws HibernateException, SQLException {
				Query query = session.createQuery("from Team");
				query.setFirstResult(pageInfo.getPageRows()*(pageInfo.getCurrentPage()-1));
				query.setMaxResults(pageInfo.getPageRows());
				return query.list();
			}
			
		});
		
		return teams;
	}

}



spring的配置文件applicationContext.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<bean id="teamService" class="com.org.momo.service.impl.TeamServiceImpl">
		<property name="teamDao" ref="teamDao"></property>
	</bean>
	<bean id="adminService" class="com.org.momo.service.impl.AdminServiceImpl">
		<property name="adminDao" ref="adminDao"></property>
	</bean>
    <bean id="logService" class="com.org.momo.service.impl.LogServiceImpl">
        <property name="logDao" ref="logDao"></property>
    </bean>
    <bean id="studentService" class="com.org.momo.service.impl.StudentServiceImpl">
        <property name="studentDao" ref="studentDao"></property>
    </bean>
    
    [color=brown]<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
		<property name="configLocation" value="classpath:hibernate.cfg.xml"/>
	</bean>
	<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
		<property name="sessionFactory" ref="sessionFactory"/>
	</bean>
    
    
    <bean id="teamDao" class="com.org.momo.dao.hibernateTemplate.TeamDaoHibernateTemplate">
		<property name="hibernateTemplate" ref="hibernateTemplate"/>
	</bean>[/color]    <bean id="adminDao" class="com.org.momo.dao.hibernateTemplate.AdminDaoHibernateTemplate">
        <property name="hibernateTemplate" ref="hibernateTemplate"/>
    </bean>
    <bean id="logDao" class="com.org.momo.dao.hibernateTemplate.LogDaoHibernateTemplate">
        <property name="hibernateTemplate" ref="hibernateTemplate"/>
    </bean>
    <bean id="studentDao" class="com.org.momo.dao.hibernateTemplate.StudentDaoHibernateTemplate">
        <property name="hibernateTemplate" ref="hibernateTemplate"/>
    </bean>
    

    <bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor">
    </bean>
</beans>


4.业务层:service接口和接口实现类serviceImpl:
package com.org.momo.service;

import java.util.List;

import com.org.momo.bean.PageInfo;
import com.org.momo.bean.Team;
import com.org.momo.dao.TeamDao;

public interface TeamService {
   public TeamDao getTeamDao() ;
   public void setTeamDao(TeamDao teamDao) ;
   public void addTeam(Team team) throws Exception ;
   public void deleteTeam(Integer id) throws Exception ;
   public Team getTeam(Integer id) throws Exception ;
   public List<Team> getTeams() throws Exception ;
   public void updateTeam(Team team) throws Exception ;
   public List<Team> pageTeams(PageInfo page) throws Exception ;
}


package com.org.momo.service.impl;

import java.util.List;

import com.org.momo.bean.PageInfo;
import com.org.momo.bean.Team;
import com.org.momo.dao.TeamDao;
import com.org.momo.service.TeamService;

public class TeamServiceImpl implements TeamService {
    private TeamDao teamDao ;
	
	public void addTeam(Team team) throws Exception {
       teamDao.insert(team) ;
	}

	public void deleteTeam(Integer id) throws Exception {
       teamDao.deleteById(id) ;
	}

	public Team getTeam(Integer id) throws Exception {
		return teamDao.findById(id) ;
	}

	public TeamDao getTeamDao() {
		return teamDao;
	}

	public List<Team> getTeams() throws Exception {
		return teamDao.findAll() ;
	}

	public void setTeamDao(TeamDao teamDao) {
        this.teamDao = teamDao ;
	}

	public void updateTeam(Team team) throws Exception {
        teamDao.update(team) ;
	}

	public List<Team> pageTeams(PageInfo page) throws Exception {
		return teamDao.findAllPage(page) ;
	}

}




5.控制层Action类:
package com.org.momo.action.team;

import java.io.PrintWriter;
import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;
import com.org.momo.bean.PageInfo;
import com.org.momo.bean.Team;
import com.org.momo.service.TeamService;
import com.org.momo.util.JsonUtil;
import com.org.momo.util.XmlUtil;

public class ViewTeamsJSONAction extends ActionSupport {
	@Resource
	private TeamService teamService;
	private PageInfo pageInfo ;
	
	public PageInfo getPageInfo() {
		return pageInfo;
	}

	public void setPageInfo(PageInfo pageInfo) {
		this.pageInfo = pageInfo;
	}

	public String execute() {
		HttpServletResponse response = ServletActionContext.getResponse();
		response.setContentType("text/plain;charset=GBK");
		try {
			PrintWriter out = response.getWriter();
			
			//设置每页显示多少行
			pageInfo.setPageRows(5) ;
			//获取所有小组
			List<Team> teams = teamService.pageTeams(pageInfo) ;
			out.println(JsonUtil.teamsToJsonPage(teams, pageInfo));  //将document转换为String输出
			out.flush() ;
			out.close() ;
		} catch (Exception e) {
			e.printStackTrace() ;
		}
		
		return NONE;
	}
}



6.struts2的配置文件struts.xml
   <?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0 //EN"
  "struts-2.1.7.dtd">
<struts>
<constant name="struts.i18n.encoding" value="GBK"></constant>

<package name="team" namespace="/team" extends="struts-default">
    <interceptors>
        <interceptor name="LogInterceptor" class="com.org.momo.interceptor.LogInterceptor"></interceptor>
        <interceptor-stack name="TeamInterceptor">
          <interceptor-ref name="defaultStack"></interceptor-ref>
          <interceptor-ref name="LogInterceptor"></interceptor-ref>
        </interceptor-stack>
    </interceptors> 
        <default-interceptor-ref name="TeamInterceptor"></default-interceptor-ref>

    <action name="TeamNameCheck" class="com.org.momo.action.team.TeamNameCheckAction">
	</action>
	<action name="ViewTeamsXML" class="com.org.momo.action.team.ViewTeamsXMLAction">
	</action>
	<action name="ViewTeamsXSL" class="com.org.momo.action.team.ViewTeamsXSLAction">
	</action>
	[color=red]<action name="ViewTeamsJSON" class="com.org.momo.action.team.ViewTeamsJSONAction">
	</action>[/color]	<action name="ViewTeams" class="com.org.momo.action.team.ViewTeamsAction">
		<result name="success">/team/viewTeams.jsp</result>
		<result name="error">/team/exception.jsp</result>
	</action>
	<action name="DeleteTeam" class="com.org.momo.action.team.DeleteTeamAction">
		<result name="success" type="redirect">/team/ViewTeams</result>
		<result name="error">/team/exception.jsp</result>
	</action>
	<action name="ViewUpdateTeam" class="com.org.momo.action.team.UpdateTeamViewAction">
		<result name="success">/team/updateTeam.jsp</result>
		<result name="error">/team/exception.jsp</result>
	</action>
	<action name="UpdateTeam" class="com.org.momo.action.team.UpdateTeamAction">
		<result name="success" type="redirect">/team/ViewTeams</result>
		<result name="error">/team/exception.jsp</result>
	</action>
	<action name="AddTeam" class="com.org.momo.action.team.AddTeamAction">
		<result name="success" type="redirect">/team/ViewTeams</result>
		<result name="error">/team/exception.jsp</result>
		<result name="input">/team/addTeam.jsp</result>
	</action>
</package>


<package name="admin" namespace="/admin" extends="struts-default">
    <interceptors>
        <interceptor name="LogInterceptor" class="com.org.momo.interceptor.LogInterceptor"></interceptor>
        <interceptor-stack name="TeamInterceptor">
          <interceptor-ref name="defaultStack"></interceptor-ref>
          <interceptor-ref name="LogInterceptor"></interceptor-ref>
        </interceptor-stack>
    </interceptors> 
        <default-interceptor-ref name="TeamInterceptor"></default-interceptor-ref>
        
    <action name="Login" class="com.org.momo.action.admin.LoginAction">
        <result name="success">/index.jsp</result>
        <result name="input">/login.jsp</result>
        <result name="error">/team/exception.jsp</result>
    </action>
    <action name="UpdatePassword" class="com.org.momo.action.admin.UpdatePasswordAction">
        <result name="success">/team/index.jsp</result>
        <result name="error">/team/exception.jsp</result>
    </action>
</package>

<package name="student" namespace="/student" extends="struts-default">
   <interceptors>
        <interceptor name="LogInterceptor" class="com.org.momo.interceptor.LogInterceptor"></interceptor>
        <interceptor-stack name="TeamInterceptor">
          <interceptor-ref name="defaultStack"></interceptor-ref>
          <interceptor-ref name="LogInterceptor"></interceptor-ref>
        </interceptor-stack>
    </interceptors> 
        <default-interceptor-ref name="TeamInterceptor"></default-interceptor-ref>

    <action name="AddStudent" class="com.org.momo.action.student.AddStudentAction">
        <result name="success" type="redirect">/student/ViewStudents</result>
        <result name="error">/student/exception.jsp</result>
    </action>
    <action name="ViewStudents" class="com.org.momo.action.student.ViewStudentsAction">
        <result name="success">/student/viewStudent.jsp</result>
        <result name="error">/student/exception.jsp</result>
    </action>
    <action name="DeleteStudent" class="com.org.momo.action.student.DeleteStudentAction">
        <result name="success" type="redirect">/student/ViewStudents</result>
        <result name="error">/student/exception.jsp</result>
    </action>
    <action name="ViewUpdateStudent" class="com.org.momo.action.student.ViewUpdateStudentAction">
        <result name="success">/student/updateStudent.jsp</result>
        <result name="error">/student/exception.jsp</result>
    </action>
    <action name="UpdateStudent" class="com.org.momo.action.student.UpdateStudentAction">
        <result name="success" type="redirect">/student/ViewStudents</result>
        <result name="error">/student/exception.jsp</result>
    </action>
</package>
</struts>



7.JSONUtil处理类:

package com.org.momo.util;

import java.util.List;

import com.org.momo.bean.PageInfo;
import com.org.momo.bean.Student;
import com.org.momo.bean.Team;

public class JsonUtil {

	public static String teamsToJsonPage(List<Team> teams,PageInfo pageInfo)throws Exception
	{
		String jsonStr = null;
		StringBuffer strBuffer = new StringBuffer();
		strBuffer.append("{");
		//处理teams
		//teams开始
		strBuffer.append("\"teams\":[");
		//处理teams
		for(int i=0;i<teams.size();i++)
		{
			Team team = teams.get(i); 
			//team开始
			strBuffer.append("{");
			//处理id
			strBuffer.append("\"id\":");
			strBuffer.append(team.getId());
			strBuffer.append(",");
			//处理name
			strBuffer.append("\"name\":\"");
			strBuffer.append(team.getName());
			strBuffer.append("\",");
			//处理leader
			strBuffer.append("\"leader\":\"");
			strBuffer.append(team.getLeader());
			strBuffer.append("\",");
			//处理slogan
			strBuffer.append("\"slogan\":\"");
			strBuffer.append(team.getSlogan());	
			strBuffer.append("\",");
			//处理members
			strBuffer.append("\"members\":\"") ;
			if(team.getMembers()!=null){
				int j=0 ;
				for(Student stu:team.getMembers()){
					j++ ;
					strBuffer.append(stu.getName()) ;
					if(j<team.getMembers().size()){
						strBuffer.append(",") ;
					}
				}
			}
			strBuffer.append("\"") ;
			
			//team结束
			if(i<teams.size()-1)
			{
			strBuffer.append("},");
			}
			else
			{
				strBuffer.append("}");
			}
			
		}
		
		//teams结束
		strBuffer.append("],");
		
		//pageInfo开始
		strBuffer.append("\"pageInfo\":{");
		//处理pageRows 
		strBuffer.append("\"pageRows\":");
		strBuffer.append(pageInfo.getPageRows());
		strBuffer.append(",");
		//处理currentPage
		strBuffer.append("\"currentPage\":");
		strBuffer.append(pageInfo.getCurrentPage());
		strBuffer.append(",");
		//处理pageTotal
		strBuffer.append("\"pageTotal\":");
		strBuffer.append(pageInfo.getPageTotal());
		
	
	    //pageInfo结束
		strBuffer.append("}");
		//json结束
		strBuffer.append("}");
		jsonStr = strBuffer.toString();
		return jsonStr;
	}
}



8.前台界面JSP+javascript+AJAX(读取保存了teamsinfo和pageInfo的JSON字符串)
  <%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
<%
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/";
%>
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>显示小组(Ajax)</title>
<link rel="stylesheet" type="text/css" href="css/team.css" />
<script type="text/javascript" src="js/trim.js"></script>
<script type="text/javascript">
function startRequest(pageNo) {
	createXMLHttpRequest();
	xmlHttp.onreadystatechange = function() {
		handleStateChange(pageNo);
	};
	xmlHttp.open("POST","team/ViewTeamsJSON",true);
	xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xmlHttp.send("pageInfo.currentPage=" + pageNo);
}

function handleStateChange(pageNo) {
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
		
			 var text = xmlHttp.responseText ;
			 var jsonObject = eval ("(" + text + ")");
			 var teamTable = document.getElementById("teamTable");
			 //alert(text) ;
			 
			  //清除原有数据
		   for(var i=teamTable.rows.length-1;i>0;i--){
		       teamTable.deleteRow(i) ;
		   }
			 
			 for(var i=0;i<jsonObject.teams.length;i++) {
			     //为表格加一行
				var tr = teamTable.insertRow(i+1);
			    
			    //为表格加一个格
				var td = tr.insertCell(0);
				td.innerHTML = jsonObject.teams[i].id;
				
				//为表格加一个格
				var td = tr.insertCell(1);
				td.innerHTML = jsonObject.teams[i].name;
				
				//为表格加一个格
				var td = tr.insertCell(2);
				td.innerHTML = jsonObject.teams[i].leader;
				
				//为表格加一个格
				var td = tr.insertCell(3);
				td.innerHTML = jsonObject.teams[i].slogan;
				
				//为表格加一个格
				var td = tr.insertCell(4);
				td.innerHTML = jsonObject.teams[i].members;
				
				//为表格加一个格
				var td = tr.insertCell(5);
				td.innerHTML = "<a href='team/ViewUpdateTeam?team.id="+jsonObject.teams[i].id+"'>修改</a>  <a href='team/DeleteTeam?team.id="+jsonObject.teams[i].id+"'>删除</a>";
			 }
			 
			 //处理页面跳转的连接
			var pageDiv = document.getElementById("page") ;
			var pageTotal = jsonObject.pageInfo.pageTotal ;
			var pageHtml =" ";
			if(pageNo>1){
			pageHtml += "<a href='javascript:startRequest("+ 1 +")'>首页</a>  " ;     //可以改为上一页   "1"  改为:   (pageNo-1)
			 } 
		    for(i = 0 ; i < pageTotal; i ++){
               pageHtml += "<a href = 'javascript:startRequest("+(i+1)+")'>"+(i+1)+"</a>   ";
              } 
			   
			 if(pageNo < pageTotal) {
				pageHtml += " <a href='javascript:startRequest(" + pageTotal + ")'>尾页</a>";    //可以改为下一页   pageTotal  改为:  (pageNo+1)
			   }
			pageDiv.innerHTML = pageHtml ;
		}
	}
}
</script>
</head>
<body onload="startRequest(1)">
<div id="top">
<h1>显示小组</h1>
</div>
<div id="content">
<table border="1" id="teamTable">
<tr>
<th>ID</th><th>组名</th><th>组长</th><th>口号</th><th>成员</th><th>操&nbsp;&nbsp;作</th>
</tr>
</table>
</div>
<p><div id="page"></div>
<p><a href="team/index.jsp">返回小组管理</a>
</body>
</html>
  • 大小: 41.9 KB
分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    JAVA上百实例源码以及开源项目源代码

    数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...

    java开源包3

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包4

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包1

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包11

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包2

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包6

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包5

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包10

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包8

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包7

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包9

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包101

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    Java资源包01

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    Java学习笔记-个人整理的

    {13.5}分页查询}{196}{section.13.5} {13.5.1}MySQL}{198}{subsection.13.5.1} {13.6}连接池}{199}{section.13.6} {13.6.1}Wrapper}{199}{subsection.13.6.1} {13.7}DAO}{199}{section.13.7} {13.8}java.util....

Global site tag (gtag.js) - Google Analytics