Flexigrid的使用(整合Struts2)

简介:

Flexigrid是一个jQuery表格插件 下载地址:http://download.csdn.net/detail/itmyhome/7613879

用法:

一、相关资源文件的引入

<link rel="stylesheet" type="text/css" href="css/flexigrid.css">
<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="js/flexigrid.js"></script>

二、JSP页面显示

<table class="flexigrid" style="display: none"></table>
<script type="text/javascript">
	$(function() {
		$(".flexigrid").flexigrid( {
			url : 'getUserAction.action',
			dataType : 'json',
			colModel : [ 
				    {display : '名称',name : 'username',width : 120,sortable : true,align : 'center'},
				    {display : '组织名称',name : 'orgname',width : 120,sortable : true,align : 'center'} ,
				    {display : '状态',name : 'state',width : 100,sortable : true,align : 'center'} , 
				    {display : '登录名',name : 'loginname',width : 120,sortable : true,align : 'center'},
				    {display : '创建时间',name : 'ctime',width : 120,sortable : true,align : 'center'},
				    {display : '备注',name : 'note',width : 120,sortable : true,align : 'center'}
				],
			buttons : [
				    {name: '新增', bclass: 'add', onpress : add},
				    {name: '删除', bclass: 'delete', onpress : del},
				    {name: '编辑', bclass: 'edit', onpress : edit}
				],
			sortorder : "asc",
			usepager : true,
			title : '人员信息列表',
			useRp : true,
			rp : 10,  //每页默认结果数 
			pagestat: '显示记录从{from}到{to},总数 {total} 条', //汉化显示样式 
			pagetext: '当前页',
			outof: '总页数',
			showTableToggleBtn : false,
			resizable : true,
			width : 'auto',
			height : 265
		});
		function add(){
			alert("Add");
		}
		function del(){
			alert("Delete");
		}
		function edit(){
			alert("Edit");
		}
	})
</script>

三、Struts配置

<package name="user_json" extends="json-default">
	<action name="getUserAction" method="queryAll" class="com.home.web.UserAction">
		 <result name="success" type="json"></result>  
	</action>
</package>

四、后台代码实现

import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.home.util.ConnectionManager;

public class UserAction {
	// 结果集
	private List<Map<String, Object>> rows = new ArrayList<Map<String, Object>>();

	private Integer page = 1;  //当前页
	private Integer total;     //总记录数
	private Integer rp;        //每页记录数

	public String queryAll() throws IOException {
		
		Statement sta = null;
		ResultSet rs = null;
		try {
			Connection conn = ConnectionManager.getConnection();
			sta = conn.createStatement();
			//mysql分页 
			String sql = "select username,orgname,state,loginname,ctime,note from e_user limit "+(page-1)*rp+","+rp;
			rs = sta.executeQuery(sql);
			ResultSetMetaData md = rs.getMetaData(); // 获得结果集结构信息,元数据
			int columnCount = md.getColumnCount();
			while (rs.next()) {
				Map<String, Object> rowData = new HashMap<String, Object>();
				for (int i = 1; i <= columnCount; i++) {
						rowData.put(md.getColumnName(i), rs.getObject(i));	
				}
				rows.add(rowData);
			}
			total = ConnectionManager.getRows();
			ConnectionManager.closeAll(rs, sta, conn); //关闭资源
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return "success";
	}


	public String forSend() {
		return "success";
	}
	
	public List<Map<String, Object>> getRows() {
		return rows;
	}


	public void setRows(List<Map<String, Object>> rows) {
		this.rows = rows;
	}

	public Integer getPage() {
		return page;
	}

	public void setPage(Integer page) {
		this.page = page;
	}

	public Integer getTotal() {
		return total;
	}

	public void setTotal(Integer total) {
		this.total = total;
	}

	public Integer getRp() {
		return rp;
	}

	public void setRp(Integer rp) {
		this.rp = rp;
	}
}

页面效果:


后台数据查询代码是基于mysql、JDBC。

源代码下载:http://download.csdn.net/detail/itmyhome/7613879


转载请注明出处:http://blog.csdn.net/itmyhome1990/article/details/37599503









本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5094240.html,如需转载请自行联系原作者

相关文章
|
机器学习/深度学习 数据采集 人工智能
AI大模型知识点大梳理1
AI大模型是什么 AI大模型发展历程
896 0
|
存储 安全 网络安全
云计算与网络安全的博弈:云服务的双刃剑
【9月更文挑战第2天】 在数字化转型的浪潮中,云计算作为推动力量之一,为各行各业提供了前所未有的便利和效率。然而,随着企业和个人用户越来越多地依赖云服务,网络安全问题也日益凸显。本文将探讨云计算环境下的安全挑战、常见的安全威胁以及应对策略,旨在为读者提供一种平衡视角,理解云计算带来的利与弊,并强调在享受云服务带来的便捷的同时,如何加固安全防护,确保信息安全。
64 0
|
JavaScript 前端开发 算法
JavaScript实现按键快速获取输入框光标
JavaScript实现按键快速获取输入框光标
91 0
|
算法 C#
【年终分享】彩票数据预测算法(一):离散型马尔可夫链模型实现【附C#代码】
原文:【年终分享】彩票数据预测算法(一):离散型马尔可夫链模型实现【附C#代码】 前言:彩票是一个坑,千万不要往里面跳。任何预测彩票的方法都不可能100%,都只能说比你盲目去买要多那么一些机会而已。   已经3个月没写博客了,因为业余时间一直在研究彩票,发现还是有很多乐趣,偶尔买买,娱乐一下。
2147 0
|
存储 算法
决策树分类算法(包含隐形眼镜分类的代码)
一个有监督学习算法 、属于判别模型 、非线性分类
272 0
决策树分类算法(包含隐形眼镜分类的代码)
|
Web App开发 前端开发 JavaScript
VS code 常用插件推荐(总结整理篇)
vscode 是微软开发的的一款代码编辑器,就如官网上说的一样,vscode 重新定义(redefined)了代码编辑器。当前市面上常用的轻型代码编辑器主要是:sublime,notepad++,editplus,atom 这几种。比起 notepad++、editplus,vscode 集成了许多 IDE 才具有的功能,比起它们更像一个代码编辑器;比起 sublime,vscode 颜值更高,安装配置插件更为方便;比起 atom,vscode 启动速度更快,打开各种大文件不卡。可以说,vscode 既拥有高自由度、又拥有高性能和高颜值
432 0
|
SpringCloudAlibaba API Nacos
Springcloud Gateway:动态配置,过滤器源码思路(2)
Springcloud Gateway:动态配置,过滤器源码思路(2)
Springcloud Gateway:动态配置,过滤器源码思路(2)
|
C#
WPF TextBox/TextBlock 文本超出显示时,文本靠右显示
原文:WPF TextBox/TextBlock 文本超出显示时,文本靠右显示 文本框显示 文本框正常显示: 文本框超出区域显示:    实现方案 判断文本框是否超出区域 请见《TextBlock IsTextTrimmed 判断文本是否超出》 设置文本布局显示 1.
1820 0
|
Java
IDEA快捷键拆解系列(六):Code篇
  这是IDEA快捷键拆解系列的第六篇。   以下是关于Code导航项及其每一子项的拆解介绍,其中,加粗部分的选项是博主认为比较重要的。 Code Override Methods ( 重写覆盖方法 ) Ctrl + O Implements...
1312 0