`

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
分享到:
评论

相关推荐

    springmvc+hibernate+easyui

    在"springmvc+hibernate+easyui"项目中,可能使用EasyUI的DataGrid组件展示数据列表,结合SpringMVC的ModelAndView或Model对象,将后端查询结果转化为JSON格式,通过Ajax请求传递到前端,最终动态渲染数据列表。...

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

    标题 "spring+springMVC+mybatis+easyui 增删查改以及分页源码" 描述了一个使用SSM(Spring、SpringMVC、MyBatis)框架与EasyUI前端库联合实现的Web应用项目,特别是关注于CRUD(创建、读取、更新、删除)操作和无...

    SpringMVC+MyBatis+EasyUI简单分页Demo

    在本项目"SpringMVC+MyBatis+EasyUI简单分页Demo"中,我们将探讨如何结合这三种技术实现一个具备基本分页功能的Web应用。SpringMVC是Spring框架的一部分,负责处理HTTP请求和响应;MyBatis是一个轻量级的持久层框架...

    springmvc+mybatis+easyUI分页后台代码

    本项目是基于SpringMVC、MyBatis和EasyUI这三大框架实现的后台分页功能,旨在提供一个高效、易用的解决方案。下面将详细介绍这三个技术以及它们如何协同工作来实现前端页面的分页。 首先,SpringMVC是Spring框架的...

    Springmvc+MyBatis+JQueryEasyUI

    例如,`&lt;table class="easyui-datagrid"&gt;`即可创建一个数据网格。 **整合Spring MVC、MyBatis与JQueryEasyUI** 将这三个技术结合使用,可以构建出功能强大、用户体验良好的企业级Web应用。Spring MVC作为前端控制...

    springmvc+easyUI Demo

    【SpringMvc】 SpringMvc是Spring框架的一部分,用于构建...通过实践这个Demo,开发者可以学习到如何配置SpringMvc的环境,编写Controller,以及如何利用EasyUI的组件设计用户界面。这将有助于提升Web开发的整体技能。

    EASYUI+mybatis+sprigMVC的简单的项目搭建

    总的来说,EASYUI+MyBatis+SpringMVC的项目搭建涉及前端UI设计、后端业务逻辑处理以及数据持久化。熟练掌握这些技术的整合,能有效提升Web应用的开发效率和质量。在实践中,不断学习和优化,才能更好地应对复杂的...

    easyui+springMVC+hibernate练习

    总的来说,“easyui+springMVC+hibernate练习”项目是一个很好的学习和实践案例,它综合运用了前端、后端和数据库技术,帮助开发者深入理解Web应用开发的全貌。通过对Course文件的进一步研究,可以掌握如何将这三个...

    SpringMVC+easyui+mybatis分页功能

    这里的"SpringMVC+easyui+mybatis分页功能"是一个具体的应用示例,旨在简化和优化数据的分页显示。下面将详细解释这三个组件在分页功能中的作用以及如何协同工作。 **SpringMVC** 是Spring框架的一部分,它是一个...

    easyui datagrid 分页查询样例

    通过这个样例,开发者可以学习到如何结合EasyUI Datagrid和SpringMVC实现后台分页查询,理解前后端数据交互的原理,并且掌握相关框架和组件的使用。这将有助于提升Web应用的数据展示效率和用户体验。

    easyui+springmvc项目

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

    easyui分页、springmvc后台处理分页

    本项目重点介绍了如何结合EasyUI前端框架和SpringMVC后端框架实现高效的分页处理。下面将详细阐述相关知识点。 首先,EasyUI是一个基于jQuery的UI组件库,提供了丰富的界面元素,如表格、表单、分页等,使得开发者...

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

    标题中的"spring3+springMVC+mybatis+easyui"是一个常见的企业级Web应用开发技术栈,这里我们将深入探讨这些技术以及它们在构建增删查改(CRUD)及分页功能时的角色。 首先,Spring框架是Java企业级应用的核心组件...

    spring mybatis easyui

    在分页功能中,EasyUI的datagrid组件可以方便地实现前端页面的数据展示和分页控制,与后台Spring MVC和MyBatis配合,实现数据的动态加载和分页效果。 4. **分页实现**: 在Spring MVC中,可以使用Pageable接口或者...

    基于springmvc+easyui+权限控制的后台管理系统带数据库文件可直接运行

    综上所述,"基于SpringMVC+EasyUI+权限控制的后台管理系统"整合了强大的后端处理能力与直观的前端展示效果,结合数据库,可快速搭建出功能完备的管理平台。在实际应用中,开发者通常还需要考虑权限控制,例如基于...

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

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

    springmvc +mybatis例子

    开发人员可以通过 EasyUI 的 DataGrid 展示数据,通过 Form 进行数据输入,结合 Ajax 实现与后端的交互。同时,Spring MVC 会调用 MyBatis 的 Mapper 接口执行 SQL,完成数据的增删改查操作。这个例子是一个典型的 ...

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

    这是一个基于EasyUI1.4、EasyUITree和SpringMVC4.0构建的前端框架,专为可重用和动态的Web应用设计。这个框架集成了强大的数据展示、树形结构管理和后端控制功能,适合用于快速开发各种企业级应用,如电商网站后台。...

    jquery-easyui demo

    《jQuery EasyUI 框架详解与应用实例》 jQuery EasyUI 是一款基于 jQuery 的前端框架,它提供了丰富的用户界面组件,使得开发者可以快速构建出美观且功能强大的 Web 应用程序。在 JavaWeb 开发中,jQuery EasyUI ...

    easyui简单项目

    接下来,数据网格(datagrid)是EasyUI的核心组件之一,用于展示和操作表格数据。在HTML中定义一个`&lt;table&gt;`元素,并赋予`class="easyui-datagrid"`,然后通过JavaScript设置其数据源、列配置和操作行为。例如,你...

Global site tag (gtag.js) - Google Analytics