yang362046076的专栏

最近做毕业设计,想用easyui,先学习一下CRUD,今天先弄了个表格显示数据库的数据。jsp页面还有很多其它元素,我就不贴上去了。我显示数据的JSP为/WebContent/WEB-INF/views/user/list.jsp 。关键信息如下:

<table id="dg" title="My Users" class="easyui-datagrid" style="width:700px;height:250px"url="user/listUsers"toolbar="#toolbar" pagination="true"rownumbers="true" fitColumns="true" singleSelect="true"><thead><tr><th field="userId" width="50">UserId</th><th field="userName" width="50">UserName</th><th field=passWord width="50">PassWord</th><th field="enable" width="50">Enable</th></tr></thead></table>其中最要注意的是<th field>字段,我的entity里面userId实际上是UserId,我把User对象集合转换为JSON格式发送到web前端后,其属性第一个字母都变小写了。

User实体:

package com.yang.bishe.entity;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;import org.hibernate.annotations.DynamicInsert;import org.hibernate.annotations.DynamicUpdate;@Entity@Table(name="T_User")@DynamicInsert(true)@DynamicUpdate(true)public class User implements java.io.Serializable {@Id@GeneratedValue(strategy=GenerationType.AUTO)@Column(name="UserId")private String UserId; @Column(name="UserName")private String UserName;@Column(name="PassWord")private String PassWord;@Column(name="Enable")private int Enable;public String getUserId() {return UserId;}public void setUserId(String userId) {UserId = userId;}public String getUserName() {return UserName;}public void setUserName(String userName) {UserName = userName;}public String getPassWord() {return PassWord;}public void setPassWord(String passWord) {PassWord = passWord;}public int getEnable() {return Enable;}public void setEnable(int enable) {Enable = enable;}}项目中我用了BaseController,其中封装了转换为json对象的方法,里面要用到一些包注意一下:package com.yang.bishe.controller;import java.io.IOException;import java.util.Arrays;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.context.request.RequestContextHolder;import org.springframework.web.context.request.ServletRequestAttributes;import org.springframework.web.context.request.ServletWebRequest;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.serializer.SerializerFeature;import com.yang.bishe.util.FastjsonFilter;/** * 基础Controller,其他Controller继承此Controller来获得writeJson和ActionSupport的功能 * * 基本的CRUD已实现,子类继承BaseController的时候,提供setService方法即可 * @author yang * */@Controllerpublic class BaseController {/** * 将对象转换成JSON字符串,并响应回前台 * * @param object * @param includesProperties *需要转换的属性 * @param excludesProperties *不需要转换的属性 */public void writeJsonByFilter(Object object, HttpServletResponse response,String[] includesProperties, String[] excludesProperties) {try {FastjsonFilter filter = new FastjsonFilter();// excludes优先于includesif (excludesProperties != null && excludesProperties.length > 0) {filter.getExcludes().addAll(Arrays.<String> asList(excludesProperties));}if (includesProperties != null && includesProperties.length > 0) {filter.getIncludes().addAll(Arrays.<String> asList(includesProperties));}//logger.info("对象转JSON:要排除的属性[" + excludesProperties + "]要包含的属性[" + includesProperties + "]");String json;String User_Agent = getRequest().getHeader("User-Agent");if (StringUtils.indexOfIgnoreCase(User_Agent, "MSIE 6") > -1) {// 使用SerializerFeature.BrowserCompatible特性会把所有的中文都会序列化为\\uXXXX这种格式,字节数会多一些,但是能兼容IE6json = JSON.toJSONString(object, filter, SerializerFeature.WriteDateUseDateFormat, SerializerFeature.DisableCircularReferenceDetect, SerializerFeature.BrowserCompatible);} else {// 使用SerializerFeature.WriteDateUseDateFormat特性来序列化日期格式的类型为yyyy-MM-dd hh24:mi:ss// 使用SerializerFeature.DisableCircularReferenceDetect特性关闭引用检测和生成json = JSON.toJSONString(object, filter, SerializerFeature.WriteDateUseDateFormat, SerializerFeature.DisableCircularReferenceDetect);}//logger.info("转换后的JSON字符串:" + json);response.setContentType("text/html;charset=utf-8");response.getWriter().write(json);response.getWriter().flush();response.getWriter().close();} catch (IOException e) {e.printStackTrace();}}private HttpServletRequest getRequest() {// TODO Auto-generated method stubreturn ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();}/** * 将对象转换成JSON字符串,并响应回前台 * * @param object * @throws IOException */public void writeJson(Object object ,HttpServletResponse response) {writeJsonByFilter(object, response,null, null);}}人生如果错了方向,停止就是进步”。

yang362046076的专栏

相关文章:

你感兴趣的文章:

标签云: