easyui-datagrid通过action从数据库获取数据的关键代码

实际上是结合struts2来从数据获取json格式的数据。

关键代码:

GetUserAction.java代码

package com.log.control;

import java.io.IOException;

import java.io.StringWriter;

import java.util.ArrayList;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import org.codehaus.jackson.JsonFactory;

import org.codehaus.jackson.JsonGenerator;

import org.codehaus.jackson.map.ObjectMapper;

import com.log.entity.User4;

import com.opensymphony.xwork2.ActionSupport;

/**

* 用于从数据库获取数据

* @author Wei

* @time  2016年9月19日 上午12:45:39

*/

public class GetUserAction extends ActionSupport {

private User4 user;

/**

*

*/

private static final long serialVersionUID = 1L;

/**

* 获取json格式字符串

* @param obj

* @return

*/

public String getJsonString(Object obj) {

ObjectMapper om = new ObjectMapper();

StringWriter sw = new StringWriter();

try {

JsonGenerator jg = new JsonFactory().createJsonGenerator(sw);

om.writeValue(jg, obj);

jg.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return sw.toString();

}

/**

* 把从数据库获取到的数据 List<User4> list 写到页面上

* @param obj

*/

public void writeJson(Object obj) {

String json = getJsonString(obj);

try {

ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");

ServletActionContext.getResponse().getWriter().write(json);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

/**

*

*/

@Override

public String execute() throws Exception {

// easyui-datagrid表格 点击下一页的时候 的参数 page=2&rows=11&sort=email&order=DESC

HttpServletRequest req = ServletActionContext.getRequest();

//System.out.println("---11111---page:"+req.getParameter("page"));

//System.out.println("GetUserAction.java----------"+req.getQueryString());

UserDao dao = new UserDao();

//开启hibernate的transaction等

dao.init();

List<User4> list = new ArrayList<User4>();

for(int i=1;i<20;i++){

//通过hibernate从数据库获取数据,放到list中

list.add((User4) dao.session.get(User4.class, i));

}

//销毁hibernate相关的资源

dao.destroy();

//写到页面上

writeJson(list);

return null;

}

}

UserDao.java代码

package com.log.control;

import java.sql.Date;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

import org.hibernate.service.ServiceRegistry;

import org.hibernate.service.ServiceRegistryBuilder;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

public class UserDao {

//    private SessionFactory sessionFactory;

//    private Session session;

//    private Transaction transaction;

public SessionFactory sessionFactory;

public Session session;

public Transaction transaction;

//    @Before

public void init() {

Configuration configuration = new Configuration().configure();

ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties())

.buildServiceRegistry();

sessionFactory = configuration.buildSessionFactory(serviceRegistry);

session = sessionFactory.openSession();

transaction = session.beginTransaction();

}

//    @After

public void destroy() {

transaction.commit();

session.close();

sessionFactory.close();

}

//    @Test

public void testInsert() {

UserDao dao = new UserDao();

dao.init();

for (int i = 43; i < 64; i++) {

dao.session

.save(new User4(55, "xiaohong" + i, "qq" + i + "@163.com", new Date(System.currentTimeMillis())));

}

dao.destroy();

}

}

具体页面展示:

获取到的json数据:

时间: 2024-08-03 08:12:49

easyui-datagrid通过action从数据库获取数据的关键代码的相关文章

PHPExcel下载(从数据库获取数据)示例代码

<?php /** * PHPEXCEL生成excel文件 * @author:firmy * @desc 支持任意行列数据生成excel文件,暂未添加单元格样式和对齐 */ header("connect-type:text/html;charset=utf-8"); $dsn="mysql:host=localhost;dbname=me"; $db=new PDO($dsn,'root','123',array(PDO::MYSQL_ATTR_INIT_

用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr

jQuery easyui 绑定下拉框控件 从数据库获取数据 MVC controller传值过去

这是在做OA系统的时候,需要用到的一个小功能,比较通用的,因为本人也是才接触easyui不久,希望有错的地方大家指出来,谢谢 //界面  用的easyui-combobox <td><label for="lab_con_id">服务合同编号:</label></td> <td><input class="easyui-combobox" data-options="required:fal

OpenLayers学习笔记8——使用servlet实现从数据库获取数据并标注

这两天在图书馆边看jsp边查边写代码,改完了老板交给的任务,也顺带实现了查询的效果,先来看下最终实现的效果图: 整个实现思路是:服务器端采用servlet+mysql模糊查询,servlet返回json数据,客户端解析json数据以表格形式显示并根据经纬度在地图上进行标注. 1.服务器端Servlet代码: package edu.whu.vge.servlet; import java.io.IOException; import java.io.PrintWriter; import jav

word 进行数据库 获取数据

/** * Word导出 * @throws DocumentException */ public void exeportWord() throws DocumentException{ //放到tomcat下 String formName="word"; String pathName=ServletActionContext.getRequest().getSession().getServletContext().getRealPath("")+&quo

动态从数据库获取数据(Vue.js)【数据可变】

package com.nf.entity; import javax.persistence.*; @Entity@Table(name = "book")public class Book {    private Integer id;    private String name;    private Integer price;        @Id    @GeneratedValue(strategy= GenerationType.IDENTITY)    @Colu

easyui,datagrid 分页,跨域访问数据

http://blog.itpub.net/30980622/viewspace-2051035/ 思路: 1.通过配置属性,loader加载跨域资源 2.获得$(pager).pagination对象,处理onSelectPage事情 原文地址:https://www.cnblogs.com/xiaoping1993/p/8480646.html

springmvc+easyui datagrid columns的field支持属性的子属性(field.sonfield形式或者格式化程序形式)

所谓为了支持某属性的子属性,主要为了解决:在服务器返回的json格式的数据的某个属性带有子属性,而我们恰恰又需要使用到该子属性作为我们的datagrid的某个字段的.默认情况下datagrid只能支持一级属性字段(属性的属性字段属于二级字段). 对于这个问题的解决方案有两种方式: 1.就是更改esayui源文件,使其支持field.sonfield的形式. javascript语法为我们提供了两种方式获取一个对象的属性:点字符连接和[]方式.使用[]可以很方便的将一个属性通过字符串的方式获取.但

easyui datagrid columns的field支持属性的子属性(field.sonfield形式或者格式化程序形式)

所谓为了支持某属性的子属性,主要为了解决.在服务器返回的json格式的数据的某个属性带有自属性,而我们恰恰又需要使用到该子属性作为我们的datagrid的某个字段的.默认情况下datagrid只能支持一级属性字段(属性的属性字段属于二级字段). 对于这个问题的解决方案有两种方式 1.就是更改esayui源文件,使其支持field.sonfield的形式. javascript语法为我们提供了两种方式获取一个对象的属性:点字符连接和[]方式.使用[]可以很方便的将一个属性通过字符串的方式获取.但是