`

easyUi学习之datagrid学习(springmvc+easyui的demo)

阅读更多
学习了easyui的tabs和accordion组件,今天学习了下datagrid组件,顺便再复习下tabs的使用,用多了就会记住了,此次用springmvc来处理请求,项目结构如下:



对于以上的一些文件做下记录,免得以后自己回过头来看的时候有所疑问

第一个是log4j.properties,为什么有这个文件,因为用到了spring-mvc,如果没有这个文件springmvc会报错,不能达到自己预期的结果

第二个是webRoot下css,js,img,这三个文件夹是easyUi自带的,因为easyui有些默认的样式图片之类的,我也没深究直接放下面的,然后页面载入.

下面是demo,整个demo的流程是,通过欢迎页面的button动态的添加tabs标签,然后通过datagrid异步请求得到数据填充到table,下面是代码:

第一步:创建web项目,把需要的jar包都放进来:



第二步:配置web.xml,配置servlet,因为springmvc是基于dispatchServlet的

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.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">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  //配置spring-mvc的servlet
  <servlet>
  	<servlet-name>dispatcherServlet</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>dispatcherServlet</servlet-name>
  	<url-pattern>/</url-pattern>
  </servlet-mapping>
  
</web-app>


第四步:在web-inf下创建dispatcherServlet-servlet.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:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
		<mvc:annotation-driven /> 
	 	<mvc:default-servlet-handler />
		  <!-- 启动Spring的组件自动扫描机制 -->
		  <context:component-scan base-package="test.datagrid.controller"/>
		  <!-- 定义JSP --> 
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/"/>
		<property name="suffix" value=".jsp"/>
	</bean>
</beans>


第五步:写控制器,controller
package test.datagrid.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import test.datagrid.entity.Pager;
import test.datagrid.entity.Person;

@Controller
public class TestController {
	@RequestMapping("/getData")
	@ResponseBody
	public Pager<Person> getPersons(){
		Pager<Person> result = new Pager<Person>();
		List<Person> num = new ArrayList<Person>();
		Person person ;
		for(int i=0;i<10;i++){
		  person = new Person();
		  person.setAge("1"+i);
		  person.setName("骚一"+i+"号");
		  person.setSex("male"+i);
		  num.add(person);
		}
		result.setRows(num);
		return result;
	}
	
	@RequestMapping("/testList")
	public ModelAndView toList(){
		return new ModelAndView("testDatagrid");
	}
}


其中用到的实体类:
package test.datagrid.entity;

public class Person {
	private String name;
	private String sex;
	private String age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}	
}


pager是我自定义的实体类,因为datagrid可以配置分页,只需要设定其中参数就行,虽然没用到分页,但是我设置了pager参数,里面有个属性rows应该是必须的,这我也不是特别确定,因为开始返回的没有rows居然报错了,好了代码如下

package test.datagrid.entity;

import java.util.Collections;
import java.util.List;

public class Pager<T> {
	 protected List<T> rows = Collections.emptyList();

	public List<T> getRows() {
		return rows;
	}

	public void setRows(List<T> rows) {
		this.rows = rows;
	}	 
}


第六步:就是写前台来访问
       首先更改index.jsp页面代码,改为一个button按钮,通过按钮事件来添加tabs选项卡
代码如下:
        <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="ctx" value="${pageContext.request.contextPath}"></c:set>
<html>
  <head>
   <link rel="stylesheet" type="text/css" href="css/default/easyui.css">
	<link rel="stylesheet" type="text/css" href="js/jquery/jquery-easyui-1.2.1/themes/icon.css">
	<script type="text/javascript" src="js/jquery/jquery-1.4.2.min.js"></script>
	<script type="text/javascript" src="js/jquery/jquery-easyui-1.2.1/jquery.easyui.min.js"></script>
  </head>
  
  <body>
  	<button onclick="getDatagrid()">通过datagrid获取数据</button>
    <div id="tabf"  class="easyui-tabs" style='width: 320px;height: 350px'>
    	
    </div>
  </body>
  <script type="text/javascript">
  	function getDatagrid(){
  		$('#tabf').tabs('add',{
  			title:'datagrid',
  			href:'${ctx}/testList'
  		});
  	}
  </script>
</html>


//${ctx}/testList请求在controller中返回的是testDatagrid.jsp页面,所以在创建一个jsp文件夹,里面放testDatagrid.jsp,因为我的dispatchServlet-servlet.xml是这样配置的,生成的view是在jsp文件夹下的,代码如下:
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<c:set var="ctx" value="${pageContext.request.contextPath}" />

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  	<link rel="stylesheet" type="text/css" href="css/default/easyui.css">
	<link rel="stylesheet" type="text/css" href="js/jquery/jquery-easyui-1.2.1/themes/icon.css">
	<script type="text/javascript" src="js/jquery/jquery-1.4.2.min.js"></script>
	<script type="text/javascript" src="js/jquery/jquery-easyui-1.2.1/jquery.easyui.min.js"></script>
  </head>
  
  <body>
  		<table id='dataGridTable' ></table>
  </body>
  <script type="text/javascript">
  $(function(){
  //给table添加数据
  	$('#dataGridTable').datagrid({
  		width: 400,  
        height: 300,  
        fitColumns: false,  
        nowrap: false,  
        collapsible: true,  
        collapsed: false ,
        url:"${ctx}/getData", //数据来源
        pagination : true,
        pageSize : 10,//这里后台也没有分页之类的的
		pageList : [ 10, 20, 30, 40, 50, 100 ],	
  		/*	method:'post',
		//	iconCls:'icon-edit', //图标
			singleSelect:true, //单选 
		    fitColumns: false, //自动调整各列,用了这个属性,下面各列的宽度值就只是一个比例。
			striped: true, //奇偶行颜色不同
			collapsible:true,//可折叠
			url:"${ctx}/getData", //数据来源	
			sortName: 'id', //排序的列
			sortOrder: 'desc', //倒序
			remoteSort: false, //服务器端排序
			idField:'id', //主键字段
			queryParams:{'name':'saoyi'}, //我这里没查询条件,随便写一个 反正也不影响
			pagination:true, //显示分页
			rownumbers:true, //显示行号
			title : '',
		//	iconCls : 'icon-save',
		//	pagination : true,
		//	pageSize : 10,//这里后台也没有分页之类的的
		//	pageList : [ 10, 20, 30, 40, 50, 100 ],
			fit : true,
			nowrap : false,
			border : false,*/
			columns : [ [
			{
				title : '性别',
				field : 'sex',
				align :'left',
				width : 60,
				sortable : true,
				formatter : function(value){
	            	if (value=='1'){
	            		return '男';
	            	}else if(value=='0'){
	            		return '女';
	            	}else if(value==''||value==null){
	            		return '人妖';
	             	}else{
	            		return value;
	            	}
				},
				styler:function(value){
					if (value==null||value==''||value=='0'){
	            		return 'color:red;';
	            	}else {
	            		return 'color:green;';
	            	}
				}
			},
			{
				title : '姓名',
				field : 'name',
				align :'left',
				width : 160,
				sortable : true
			},
			{ 
				title : '年龄',
				field : 'age',
				align :'center',
				width : 80,
				sortable : true
			}
			] ],
			onDblClickRow : function(rowIndex, rowData) {
				alert("点击row");
			}
  		});
  });
  		
  </script>
</html>


//这个页面就是通过datagrid组件来得到后台数据,并填充到table中,

最后启动服务器,输入地址,因为是index.jsp页面,所以只要输出项目名就ok,输入:
http://localhost:8082/TestDataGrid/

初始进来的页面如下:



点击按钮得到如下结果:



  • 大小: 36.3 KB
  • 大小: 11.7 KB
  • 大小: 29.4 KB
  • 大小: 50.6 KB
分享到:
评论

相关推荐

    spring+springMVC+mybatis+easyui 增删查改以及分页源码

    ssm+easyui 实现无刷新分页技术,spring+springMVC+mybatis+easyui

    easyui+springMVC+hibernate练习

    easyui+springMVC+hibernate练习,实现为课程表。

    easyui+springmvc项目

    本项目前台使用easyui,后台使用springMVC注解方式,做了一个权限控制的功能,涵盖了easyui基本控件的使用,如tree控件,datagrid控件,可以为学习这两个框架的朋友提供参考,内附项目使用说明文档以及数据库初始化...

    easyui datagrid 分页查询样例

    采用easyui datagrid实现后台Springmvc分页查询的maven工程,下载吧, 你不得后悔,jquery-easyui-1.5.2

    SSM+EasyUI DataGrid 实现增删改查,分页,排序

    使用SSM框架+EasyUI DataGrid数据表格实现了基本的增删改查,以及对数据分页,排序功能的实现。是一个对于后台管理的很好的例子,因为一般企业后台管理都是使用EasyUI等框架快速搭建,而且DataGrid是EasyUI最重要的...

    easyui1.4+easyuitree+springmvc4.0的优质可重用动态前端框架,(有SQL能运行,完整可重用做项目,本人已用它开发完成电商网站后台)

    easyui1.4+easyuitree+springmvc4.0的优质动态前端框架,(有SQL能运行,完整可重用做项目,本人已用它开发完成电商网站后台),下载后好用欢迎点赞

    easyui简单项目

    自己看easyui的api写的一个简单的例子,包括登陆和一个页面,datagrid和dialog什么的都用了

    SYPRO示例项目源码和EasyUI入门视频教程

    SYPRO示例项目源码和EasyUI入门视频教程,视频在我的百度网盘中,可以下载学习: sypro示例程序(springMvc+hibernate4+easyui) sshe示例程序(struts2+spring3+hibernate4+easyui)(Maven构建) easyui1.2.6整站文件....

    springmvcdemo

    表格:jqueryeasyui datagrid 代码树:ztree 后台需要用的技术 1. 解析xml:dom4j.jar 2. 解析json:json-lib.jar 3 URL Mapping: ControllerClassNameHandlerMapping 映射控制器 4 使用MultiActionController 5 ...

    SpringMVC返回JSON数据相关Jar包

    本资源是SpringMVC返回JSON数据的相关Jar包,结合我的博客教程可以完成与EasyUI DataGrid之间的数据交互。

    基于B/S架构,采用springMVC3框架的简单交易管理系统

    基于B/S架构,采用springMVC3框架的简单交易管理系统。 实现: 1、基本的用户用户管理 2、用户登记交易,交易修改,交易结束...2、熟悉easyUI form提交前的校验,datagrid相关操作。 3、熟悉Tomcat服务搭建及相关维护

    基于ssm+mysql的分布式电商系统(前后台+订单管理+门户)源码+项目说明.zip

    2.easyUIDataGrid的使用 ### 前台系统 ### shop-rest(发布服务) ### shop-search(搜索服务) * 使用solr实现搜索,内容列表使用redis缓存,使用zookeeper管理集群 ### shop-sso (单点登录系统) SSO英文全称...

    用户管理系统

    用EasyUi做的一个Web项目 后台代码采用java SpringMVC框架 前端采用了EasyUi框架 注解简单,通俗易懂

    一个适合新手学习的电商项目

    2.easyUIDataGrid的使用 ### 前台系统 ### shop-rest(发布服务) ### shop-search(搜索服务) * 使用solr实现搜索,内容列表使用redis缓存,使用zookeeper管理集群 ### shop-sso (单点登录系统) SSO英文全称...

    JEECG快速开发平台 v4.0

    1、采用SpringMVC+Hibernate+Minidao(类Mybatis)+Easyui(UI库)+Jquery+Boostrap+Ehcache+Redis+Ztree+Vue+Boostrap-table+ElementUI等基础架构 2、采用面向声明的开发模式,基于泛型编写极少代码即可实现复杂的数据...

    JEECG快速开发平台-其他

    JEECG功能特点:1、采用SpringMVC+Hibernate+Minidao(类Mybatis)+Easyui(UI库)+Jquery+Boostrap+Ehcache+Redis+Ztree+Vue+Boostrap-table+ElementUI等基础架构2、采用面向声明的开发模式,基于泛型编写极少代码即可...

    scm1:企业级进销存管理系统

    前端:Jsp,EasyUI,JsChart,TreePlugin,dataGrid等 后台:Spring,SpringMVC,Mybaits,JMS,FastJson等 数据库:Mysql 实现功能 用户登录名,密码,验证码校验进行登录 用户忘记密码,JMS发送邮件帮助用户找回...

Global site tag (gtag.js) - Google Analytics