实际上是结合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数据:
.png)
 
 
 
 
.png)
 												
												
								- easyui datagrid combobox下拉框获取数据问题
		
最近在使用easyui的datagrid,在可编辑表格中添加一个下拉框,查了下API,可以设置type : 'combobox',来做下拉框,这下拉框是有了,可是这后台数据怎么传过来呢,通过查API可 ...
		 
						- 如何用asp.net MVC框架、highChart库从sql server数据库获取数据动态生成柱状图
		
如何用asp.net MVC框架.highChart库从sql server数据库获取数据动态生成柱状图?效果大概是这样的,如图: 请问大侠这个这么实现呢?
		 
						- AngularJs从数据库获取数据并显示
		
哈哈,昨天下午和今天早上,花上一些时间,学习AngularJs,仅是粗略预览一下.很好,非常好. 由于手上有开发ASP.NET MVC环境,就在这测试下,去数据库获取数据并显示数据. 数据库表创建,添 ...
		 
						- Loadrunner脚本优化-参数化之关联MySQL数据库获取数据
		
脚本优化-参数化之关联MySQL数据库获取数据 by:授客 QQ:1033553122 测试环境: Loadrunner 11 Win7 64位 实操: 1.   安装MySQL ODBC驱动程序 O ...
		 
						- Python使用Flask框架,结合Highchart处理csv数据(引申-从文件获取数据--从数据库获取数据)
		
参考链接:https://www.highcharts.com.cn/docs/process-text-data-file 1.javascript代码 var options = { chart: ...
		 
						- 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。
		
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...
		 
						- datagrid界面,链接数据库读取数据
		
1.学生列表的 HTML部分 <script type="text/javascript"> $(function(){ //创建dataGrid $("#d ...
		 
						- 动态从数据库获取数据,省市县三级联动,有校验,导出Excel模板
		
话不多说,看效果图,直接上代码. sheet  商户表 hideSheet ,功能完成后隐藏的Sheet,用于储存下拉框中的信息,(以一定的规则将所需数据存储在表格中). 下面是代码 部分数据需要在导 ...
		 
						- easyUI datagrid  根据查询条件 选中对应数据的行
		
开始 输入了 土豆,南瓜,再次是小青菜,每次输入点击搜索的时候(模糊查询),选中的当前数据对应的行 在做之前,在网上查询了许多资料,也在技术群里问过许多次,弄了好久终于好了. 第一次写博客真不知道写啥 ...
		 
		
	
随机推荐
	
									- 转:批处理for命令详解
			
批处理for命令详解FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能!看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)FOR 参数 %%变量名 IN (相关文 ...
			 
						- Making your first driver - complete walkthrough(使用VisualDDK)
			
This article describes how to create, build and debug your first driver using Visual Studio and Visu ...
			 
						- 【Perl学习笔记】1.perl的ref 函数
			
perl有引用的概念:一组数据实际上是另一组数据的引用.这些引用称为指针,第一组数据中存放的是第二组数据的头地址.引用的方式被用得相当普遍,特别是在面向对象的模块.函数的参数传递等常见.但perl对每 ...
			 
						- InnoDB引擎Myslq数据库数据恢复
			
首先祝愿看到这片文章的你永远不要有机会用到它... 本文指针对用InnoDB引擎的Mysql数据库的数据恢复,如果是其它引擎的Mysql或其它数据库请自行google... 如果有一天你手挫不小心删掉 ...
			 
						- nyist 202 红黑树(二叉树中序遍历)
			
旋转对中序遍历没有影响,直接中序输出即可. #include <iostream> #include <cstdio> using namespace std; int n;  ...
			 
						- Win7搭建Django开发环境
			
1.官网下载并安装python 2.7.5 2.配置python 环境变量 在Path中加入python安装目录: PATH=PATH;c:\python26 在PATHEXT中加入以下变量,可以直接 ...
			 
						- 高性能JSON库---FastJson(阿里巴巴)
			
1.FastJSON简单介绍 Fastjson是一个Java语言编写的高性能功能完好的JSON库. 它採用一种"假定有序高速匹配"的算法,把JSON Parse的性能提升到极致,是 ...
			 
						- HDU1171:Big Event in HDU(多重背包分析)
			
通过分析,要使A>=B并且差值最小.所以只要使sum/2的容量下,B最大就Ok了 #include<iostream> #include<cstdio> #include ...
			 
						- PKU POJ 1006 Biorhythms (中国剩余定理)
			
中国剩余定理 x = ai (mod mi)  ai和mi是一组数,mi两两互质,求x 令Mi = m1*m2*~mk     其中,mi不包含在内. 因为mi两两互质,所以存在x和y, st   M ...
			 
						- python的map()函数
			
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于list [1, 2 ...