SpringMVC+easyui显示数据

近期做毕业设计,想用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
 * 
 */
@Controller
public 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优先于includes
			if (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这样的格式。字节数会多一些,可是能兼容IE6
				json = 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 stub
		return ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
	}

	/**
	 * 将对象转换成JSON字符串。并响应回前台
	 * 
	 * @param object
	 * @throws IOException
	 */
	public void writeJson(Object object ,HttpServletResponse response) {
		writeJsonByFilter(object, response,null, null);
	}



}


UserController,执行后,在浏览器地址后面加上user/list 就会跳转到list.jsp ,在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">
url的请求地址(注意这个地址是相对路径。我在前面base href已经加上项目地址)就匹配到listUser函数里面:

package com.yang.bishe.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.yang.bishe.entity.User;
import com.yang.bishe.service.interfaces.IUserService;

@Controller
@RequestMapping("/user")
public class UserController extends BaseController {
	@Autowired
	private IUserService userService;
	@RequestMapping("/list")
	   public ModelAndView goList(){
	       // return "/views/index";
		  return new ModelAndView("user/list");
		  
	    }
	@RequestMapping("/listUsers")
	  public String listUser(HttpServletRequest request,
				HttpServletResponse response) throws Exception {
	       // return "/views/index";
		String hql="from User";
		List<User>users=userService.find(hql);
	//	String result=userService.find(hql);
		writeJson(users,response);
		
		//System.out.println(users);
		return null;
	    }
}
<img src="https://img-blog.csdnimg.cn/2022010611583215040.png" style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);" alt="" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值