关于从后台获取数据List<User>转化为JSON格式在前台用easyui以表格显示
2014-10-30 16:41
1071 查看
本来只是想实现用户点击“个人信息”就可以查看自己的信息,而且想用easyui +ajax来表现出来,因为之前在长沙是这么做的,这样实现也挺不错,省去了我美工的时间,现在我 只想把功能弄出来。结果发现需要的只是一个人的信息,不需要用datagrid表现出啦,不过主要中心目的目前还是想达到数据库到前台界面这样的一个功能。
接着上次的SSH项目:
首先把bean中的User添加全面一点:
在com.ssh.daoimpl中添加LIst<User> findByUserName(String userName) (这里我就不写Dao,Service,ServiceImpl,这些都是要的,和之前的一样写)
因为我还没有找到如何获取两个页面前的username,所以就现在代码中直接传入admin而不是动态获取,有待完善:
另外不要忘记Sruts2.x和applicationContext.xml中添加的信息。
结果如图:
接着上次的SSH项目:
首先把bean中的User添加全面一点:
package com.ssh.bean; /** * User entity. @author MyEclipse Persistence Tools */ public class User implements java.io.Serializable { // Fields private Integer id; private String username; private String password; private String email; private String address; private Integer sex; //0表示女,1表示男 // Constructors /** default constructor */ public User() { } /** full constructor */ public User(String username, String password, String email, String address, Integer sex) { this.username = username; this.password = password; this.email = email; this.address = address; this.sex = sex; } // Property accessors public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return this.username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return this.password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return this.email; } public void setEmail(String email) { this.email = email; } public String getAddress() { return this.address; } public void setAddress(String address) { this.address = address; } public Integer getSex() { return this.sex; } public void setSex(Integer sex) { this.sex = sex; } }
在com.ssh.daoimpl中添加LIst<User> findByUserName(String userName) (这里我就不写Dao,Service,ServiceImpl,这些都是要的,和之前的一样写)
@SuppressWarnings("unchecked") @Override public List<User> findByUserName(String userName) { // TODO Auto-generated method stub System.out.println(userName+"========UserDaoImpl"); final String s1 = userName; List<User> list = new ArrayList<User>(); list = (ArrayList<User>) this.getHibernateTemplate().executeFind( new HibernateCallback() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { // TODO Auto-generated method stub //System.out.println(session.createQuery("from User u where u.username = '"+s1+"'").toString()); return session.createQuery("from User u where u.username = '"+s1+"'").list(); } }); System.out.println(list); return list; }在ShowMyinfoAction。java:
package com.ssh.action; import java.io.IOException; import java.util.List; import org.apache.struts2.ServletActionContext; import org.apache.struts2.json.JSONUtil; import net.sf.json.JSON; import net.sf.json.JSONArray; import net.sf.json.JSONException; import net.sf.json.JSONObject; import com.opensymphony.xwork2.ActionSupport; import com.ssh.bean.User; import com.ssh.service.UserService; @SuppressWarnings("serial") public class ShowMyInfoAction extends ActionSupport{ private UserService userService; private String userName; private String message; public String execute() throws Exception{ //System.out.println("====here is execute======"); System.out.println(userName); //JSONArray json = JSONArray.fromObject(list); //JSONObject json = JSONObject.fromObject(list); //System.out.println("========"+json+"========="); try{ ServletActionContext.getResponse().getWriter().print(JSONUtil.serialize(userService.findByUserName(userName))); //向前台输出json数据 //System.out.println("======finish========="); }catch(IOException e){ //System.out.println("======here is ShowMyInfoAction=========1"); message = e.getMessage(); }catch(JSONException e){ //System.out.println("======here is ShowMyInfoAction=========2"); message = e.getMessage(); }catch(Exception e){ //System.out.println("======here is ShowMyInfoAction=========3"); message = e.getMessage(); } return null; } public UserService getUserService() { return userService; } public void setUserService(UserService userService) { this.userService = userService; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
因为我还没有找到如何获取两个页面前的username,所以就现在代码中直接传入admin而不是动态获取,有待完善:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <div class="body"> <input id="userName" value="admin"/><span style="white-space:pre"> </span><!-- 直接传入admin--> <div title="用户信息" style="padding:10px"> <table id="all"></table> </div> <script type="text/javascript"> $(function() { $('#all').datagrid({ brder : false, url : 'showMyInfoAction.action', pagination : true, pageList : [ 5, 10 , 20],<span style="white-space:pre"> </span> queryParams : { userName : $("#userName").val() }, columns : [[ { field : 'id', title : 'id', width : 100, align : 'center' }, { field : 'username', title : 'username', width : 100, align : 'center' }, { field : 'password', title : 'password', width : 100, align : 'center' }, { field : 'email', title : 'email', width : 100, align : 'center' }, { field : 'address', title : 'address', width : 100, align : 'center' }, { field : 'sex', title : 'sex', width : 100, align : 'center' } ]] }); }) </script> </div>
另外不要忘记Sruts2.x和applicationContext.xml中添加的信息。
结果如图:
相关文章推荐
- 将JSON格式数据转换成适用于SimpleAdapter的数据形式 List<Map<String, String>>
- JQuery将DataTable list<>数据转换成JSON数据 动态创建表格显示数据
- 安卓开发前后台通信,从数据库中取数据并在前台以表格形式显示,以json格式传输
- 前台的js对象数组传到后台处理。在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>
- 前台序列化传过来的值,后台获取之后封装到map当中,让后在转化成json格式,最后在把json里面的参数里面的某一个值进行分割,最后在存到json格式的数据中去。
- 前台js获取到后台json数据,eval解析json后,日期(object)对象转换为date日期格式显示
- List<data> 数据转为easyui-datagrid json数据格式
- fastjson转换json格式数据为List<HashMap>转换异常问题
- 从数据库读取数据存放在List<T>中,在jsp中将其取出来。(使用JSON)
- List<T> 直接绑定到datagridview上不显示数据.
- FreeMarker解析List<JSONObject>数据的疑惑
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- asp.net中将dataTable数据转化为List<>
- 从接口获取的数据中,html元素<>经过转义,怎样按原始的意义将数据输出显示呢?
- 前台获取后台数据写法<%#%>..
- 用List<T> 给 DataGridView 绑定数据时,无法正常显示
- List<Object> 转成Json数据
- 使用jQuery解析JSON数据(jquery在前台对从后台获取到的json数据进行解析,并进行显示)
- C#中如何将List<自定义>转为Json格式 及相关函数-DataContractJsonSerializer
- List<T>、DataSet、DataTable转到Json格式数据