Jqgrid+Spring实现的增删改查(一)
一 View
- <%@ page language="java" contentType="text/html; charset=utf-8"
- pageEncoding="utf-8"%>
- <%@ include file="/resources/common/include/header.jsp" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>jqgrid demo</title>
- <!-- JQuery CSS -->
- <link rel="stylesheet" href="${basePath}/resources/plugin/jquery-ui-themes-1.8.14/themes/redmond/jquery-ui.css" type="text/css" />
- <!-- jqGrid CSS -->
- <link rel="stylesheet" href="${basePath}/resources/plugin/jqGrid-4.5.4/css/ui.jqgrid.css" type="text/css" />
- <!-- The actual JQuery code -->
- <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js" ></script>
- <!-- The JQuery UI code -->
- <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
- <!-- The jqGrid language file code-->
- <script type="text/javascript" src="${basePath}/resources/plugin/jqGrid-4.5.4/js/i18n/grid.locale-cn.js"></script>
- <!-- The atual jqGrid code -->
- <script type="text/javascript" src="${basePath}/resources/plugin/jqGrid-4.5.4/js/jquery.jqGrid.src.js"></script>
- <script type="text/javascript">
- $(function(){
- $("#gridTable").jqGrid({
- url: "${basePath}/itCrud/list",
- datatype: "json",
- mtype : "post",
- height: 250,
- colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
- colModel:[
- {name:'id',index:'id', width:55, editable:true, editoptions:{readonly:true}, sorttype:'int'},
- {name:'invdate',index:'invdate', width:90, editable:true},
- {name:'name',index:'name asc, invdate', width:100,editable:true},
- {name:'amount',index:'amount', width:80, align:"right",editable:true,editrules:{number:true},sorttype:'number',formatter:'number'},
- {name:'tax',index:'tax', width:80, align:"right",editable:true,editrules:{number:true},sorttype:'number',formatter:'number'},
- {name:'total',index:'total', width:80,align:"right",editable:true,editrules:{number:true},sorttype:'number',formatter:'number'},
- {name:'note',index:'note', width:150, sortable:false,editable:true}
- ],
- sortname:'id',
- sortorder:'asc',
- /*editurl: 'server.php', */
- viewrecords:true,
- rowNum:10,
- rowList:[10,20,30],
- prmNames : {
- search : "search"
- },
- jsonReader : {
- root : "rows",
- page: "page",
- total: "total",
- records : "records",
- repeatitems : false
- },
- pager:"#gridPager",
- caption: "jqgrid CRUD demo",
- hidegrid : false
- });
- $('#gridTable').jqGrid('navGrid','#gridPager',{
- refresh:true,
- edit:true,
- add:true,
- del:true,
- search:false,
- addfunc:openDialog4Adding,
- editfunc:openDialog4Updating,
- delfunc:openDialog4Deleting
- });
- //配置对话框
- $("#consoleDlg").dialog({
- autoOpen:false,
- modal:true //设置对话框为模态对话框
- });
- });
- var openDialog4Adding = function() {
- var consoleDlg = $("#consoleDlg");
- // var dialogButtonPanel = consoleDlg.siblings(".ui-dialog-buttonpane");
- consoleDlg.find("input").removeAttr("disabled").val("");
- // dialogButtonPanel.find("button:not(:contains('取消'))").hide();
- // dialogButtonPanel.find("button:contains('新增')").show();
- consoleDlg.dialog({
- title:"新增",
- resizable:false,
- width:480,
- buttons:{
- "取消":function(){
- $("#consoleDlg").dialog("close");
- },
- "新增":addItem
- }
- });
- consoleDlg.dialog("open");
- };
- var openDialog4Updating = function() {
- var consoleDlg = $("#consoleDlg");
- // var dialogButtonPanel = consoleDlg.siblings(".ui-dialog-buttonpane");
- consoleDlg.find("input").removeAttr("disabled");
- /* dialogButtonPanel.find("button:not(:contains('取消'))").hide();
- dialogButtonPanel.find("button:contains('修改')").show(); */
- consoleDlg.dialog({
- title:"修改",
- resizable:false,
- width:480,
- buttons:{
- "取消":function(){
- $("#consoleDlg").dialog("close");
- },
- "修改":editItem
- }
- });
- loadSelectedRowData();
- consoleDlg.dialog("open");
- };
- var openDialog4Deleting = function() {
- var consoleDlg = $("#consoleDlg");
- // var dialogButtonPanel = consoleDlg.siblings(".ui-dialog-buttonpane");
- consoleDlg.find("input").attr("disabled", true);
- /*
- dialogButtonPanel.find("button:not(:contains('取消'))").hide();
- dialogButtonPanel.find("button:contains('删除')").show();
- consoleDlg.dialog("option", "title", "delete record");
- */
- consoleDlg.dialog({
- title:"删除",
- resizable:false,
- width:480,
- buttons:{
- "取消":function(){
- $("#consoleDlg").dialog("close");
- },
- "删除":deleteItem
- }
- });
- loadSelectedRowData();
- consoleDlg.dialog("open");
- };
- var loadSelectedRowData = function(){
- //2016-03-18 当前选中的行
- var selectedRowId = $("#gridTable").jqGrid("getGridParam", "selrow");
- //获得当前行各项属性
- var rowData = $("#gridTable").jqGrid("getRowData",selectedRowId);
- if (!selectedRowId) {
- alert("请先选择需要编辑的行!");
- return false;
- } else {
- var consoleDlg = $("#consoleDlg");
- consoleDlg.find("#selectId").val(rowData.id);
- consoleDlg.find("#invdate").val(rowData.invdate);
- consoleDlg.find("#name").val(rowData.name);
- consoleDlg.find("#amount").val(rowData.amount);
- consoleDlg.find("#tax").val(rowData.tax);
- consoleDlg.find("#total").val(rowData.total);
- consoleDlg.find("#note").val(rowData.note);
- }
- };
- var openDialog4Deleting = function() {
- var consoleDlg = $("#consoleDlg");
- // var dialogButtonPanel = consoleDlg.siblings(".ui-dialog-buttonpane");
- consoleDlg.find("input").attr("disabled", true);
- /*
- dialogButtonPanel.find("button:not(:contains('取消'))").hide();
- dialogButtonPanel.find("button:contains('删除')").show();
- consoleDlg.dialog("option", "title", "delete record");
- */
- consoleDlg.dialog({
- title:"删除",
- resizable:false,
- width:480,
- buttons:{
- "取消":function(){
- $("#consoleDlg").dialog("close");
- },
- "删除":deleteItem
- }
- });
- loadSelectedRowData();
- consoleDlg.dialog("open");
- };
- var addItem = function(){
- var consoleDlg = $("#consoleDlg");
- var invdate = $.trim(consoleDlg.find("#invdate").val());
- var name = $.trim(consoleDlg.find("#name").val());
- var amount = $.trim(consoleDlg.find("#amount").val());
- var tax = $.trim(consoleDlg.find("#tax").val());
- var total = $.trim(consoleDlg.find("#total").val());
- var note = $.trim(consoleDlg.find("#note").val());
- var params = {
- "invdate" : invdate,
- "name" : name,
- "amount" : amount,
- "tax" : tax,
- "total" : total,
- "note" : note
- };
- $.ajax({
- url:"${basePath}/itCrud/add",
- data : params,
- dataType : "json",
- cache : false,
- success : function(response, textStatus) {
- /* alert("id123-->" + response.id + "; message-->" + response.message); */
- if (response.message == true) {
- var dataRow = {
- id : response.id, //从server端获得系统分配的id
- invdate : invdate,
- name : name,
- amount : amount,
- tax : tax,
- total : total,
- note : note
- };
- /*
- var srcrowid = $("#gridTable").jqGrid("getGridParam",
- "selrow");
- */
- $("#gridTable").jqGrid("addRowData",
- response.id, dataRow, "last"); //将新行插入到末尾
- consoleDlg.dialog("close");
- alert("添加成功!");
- }else{
- alert("添加失败!");
- }
- },
- error : function(textStatus, e) {
- alert("系统ajax交互错误: " + textStatus);
- }
- });
- };
- var editItem = function(){
- var consoleDlg = $("#consoleDlg");
- var id = $.trim(consoleDlg.find("#selectId").val());
- var tempInvdate = $.trim(consoleDlg.find("#invdate").val());
- var invdate = tempInvdate.substring(0,10);
- var name = $.trim(consoleDlg.find("#name").val());
- var amount = $.trim(consoleDlg.find("#amount").val());
- var tax = $.trim(consoleDlg.find("#tax").val());
- var total = $.trim(consoleDlg.find("#total").val());
- var note = $.trim(consoleDlg.find("#note").val());
- var params = {
- "id" : id,
- "invdate" : invdate,
- "name" : name,
- "amount" : amount,
- "tax" : tax,
- "total" : total,
- "note" : note
- };
- $.ajax({
- url:"${basePath}/itCrud/edit",
- data : params,
- dataType : "json",
- cache : false,
- success : function(response, textStatus) {
- // alert("id-->" + response.id + "; message-->" + response.message);
- if (response.message == true) {
- var dataRow = {
- selectId : id,
- invdate : invdate,
- name : name,
- amount : amount,
- tax : tax,
- total : total,
- note : note
- };
- /*
- var srcrowid = $("#gridTable").jqGrid("getGridParam",
- "selrow");
- */
- //将表格中对应记录更新一下
- $("#gridTable").jqGrid("setRowData", id, dataRow);
- consoleDlg.dialog("close");
- alert("修改成功!");
- }else{
- alert("修改失败!");
- }
- },
- error : function(textStatus, e) {
- alert("系统ajax交互错误: " + textStatus);
- }
- });
- }
- var deleteItem = function(){
- var consoleDlg = $("#consoleDlg");
- var id = $.trim(consoleDlg.find("#selectId").val());
- var tempInvdate = $.trim(consoleDlg.find("#invdate").val());
- var invdate = tempInvdate.substring(0,10);
- var name = $.trim(consoleDlg.find("#name").val());
- var amount = $.trim(consoleDlg.find("#amount").val());
- var tax = $.trim(consoleDlg.find("#tax").val());
- var total = $.trim(consoleDlg.find("#total").val());
- var note = $.trim(consoleDlg.find("#note").val());
- var params = {
- "id" : id,
- "invdate" : invdate,
- "name" : name,
- "amount" : amount,
- "tax" : tax,
- "total" : total,
- "note" : note
- };
- $.ajax({
- url:"${basePath}/itCrud/delete",
- data : params,
- dataType : "json",
- cache : false,
- success : function(response, textStatus) {
- // alert("id-->" + response.id + "; message-->" + response.message);
- if (response.message == true) {
- $("#gridTable").jqGrid("delRowData", id);
- consoleDlg.dialog("close");
- alert("删除成功!");
- }else{
- alert("删除失败!");
- }
- },
- error : function(textStatus, e) {
- alert("系统ajax交互错误: " + textStatus);
- }
- });
- }
- </script>
- </head>
- <body>
- <table id="gridTable"></table>
- <div id="gridPager"></div>
- <div id="consoleDlg" style="display:none">
- <form id="consoleForm">
- <input type="hidden" id="selectId"/>
- <table class="formTable">
- <tr>
- <th>Date</th>
- <td><input type="text" class="textField" id="invdate" name="invdate" />
- </td>
- </tr>
- <tr>
- <th>Client</th>
- <td><input type="text" class="textField" id="name" name="name" />
- </td>
- </tr>
- <tr>
- <th>Amount</th>
- <td><input type="text" class="textField" id="amount" name="amount" />
- </td>
- </tr>
- <tr>
- <th>Tax</th>
- <td><input type="text" class="textField" id="tax" name="tax" />
- </td>
- </tr>
- <tr>
- <th>Total</th>
- <td><input type="text" class="textField" id="total" name="total" />
- </td>
- </tr>
- <tr>
- <th>Notes</th>
- <td><input type="text" class="textField" id="note" name="note" />
- </td>
- </tr>
- </table>
- </form>
- </div>
- </body>
- </html>
二 Model
- package com.yangw.demo.pojo;
- import com.yangw.demo.base.BasePojo;
- public class Item extends BasePojo {
- private static final long serialVersionUID = 1L;
- private int id;
- private String invdate;
- private String name;
- private double amount;
- private double tax;
- private double total;
- private String note;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getInvdate() {
- return invdate;
- }
- public void setInvdate(String invdate) {
- this.invdate = invdate;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public double getAmount() {
- return amount;
- }
- public void setAmount(double amount) {
- this.amount = amount;
- }
- public double getTax() {
- return tax;
- }
- public void setTax(double tax) {
- this.tax = tax;
- }
- public double getTotal() {
- return total;
- }
- public void setTotal(double total) {
- this.total = total;
- }
- public String getNote() {
- return note;
- }
- public void setNote(String note) {
- this.note = note;
- }
- }
三 Action
1 MediatorController
- @Controller
- @RequestMapping("/main")
- public class MediatorController {
- @RequestMapping(value = "/items", method = RequestMethod.GET)
- public String getItemPage(){
- return "listView";
- }
- }
- @Controller
- @RequestMapping(value={"/itCrud"})
- public class JqDemoController extends BaseController {
- @Autowired
- private IItemService<Item, Integer> itemService;
- private List<Item> dataList;
- @RequestMapping(value={"/list"})
- public @ResponseBody DataResponse<Item> showList(
- Item item,
- @RequestParam(defaultValue="1",value="page") String page,
- @RequestParam(defaultValue="10",value="rows") String rows
- ){
- int records; //总记录数
- int totalPages; //总页数
- int pageSize = StringUtils.isEmpty(rows) ? 10 : Integer.valueOf(rows); //每页显示记录数
- int currPage = StringUtils.isEmpty(page) ? 1 : Integer.valueOf(page); //当前页码
- DataResponse<Item> response = new DataResponse<Item>();
- try {
- records = itemService.getEntityCount(item);
- totalPages = (records + pageSize -1) / pageSize;
- int start = pageSize * (currPage - 1) + 1;
- start = (start < 0) ? 0 : start;
- int stop = currPage * pageSize;
- item.setStart(start);
- item.setStop(stop);
- dataList = itemService.searchEntityList(item);
- response.setRecords(String.valueOf(records));
- response.setTotal(String.valueOf(totalPages));
- response.setPage(String.valueOf(currPage));
- response.setRows(dataList);
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return response;
- }
- @RequestMapping(value={"/add"})
- public @ResponseBody ResultResponse add(Item item) throws Exception{
- ResultResponse response = new ResultResponse();
- try {
- System.out.println(item);
- itemService.insertEntity(item);
- response.setId(100);
- response.setMessage(true);
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- response.setMessage(false);
- throw e;
- }
- return response;
- }
- @RequestMapping(value={"/edit"})
- public @ResponseBody ResultResponse edit(Item item) throws Exception{
- ResultResponse response = new ResultResponse();
- try {
- System.out.println(item);
- itemService.updateEntity(item);
- response.setMessage(true);
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- response.setMessage(false);
- throw e;
- }
- return response;
- }
- @RequestMapping(value={"/delete"})
- public @ResponseBody ResultResponse delete(Item item) throws Exception{
- ResultResponse response = new ResultResponse();
- try {
- System.out.println(item);
- itemService.deleteEntity(item);
- response.setMessage(true);
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- response.setMessage(false);
- throw e;
- }
- return response;
- }
- public List<Item> getDataList() {
- return dataList;
- }
- public void setDataList(List<Item> dataList) {
- this.dataList = dataList;
- }
- }
四 Service
1 BaseService
- public interface BaseService<Entity extends Serializable,Query extends Object> {
- /**
- * 添加 实体
- * sqlKey insertEntity
- * @param entity
- * @return
- * @throws Exception
- */
- public Query insertEntity(Entity entity) throws Exception;
- /**
- * 修改 实体
- * sqlKey updateEntity
- * @param entity
- * @return
- * @throws Exception
- */
- public int updateEntity(Entity entity) throws Exception;
- /**
- * 删除 实体
- * sqlKey deleteEntityById
- * @param entity
- * @return
- * @throws Exception
- */
- public int deleteEntity(Entity entity) throws Exception;
- /**
- * 根据实体参数查找单个数据
- * sqlKey searchEntity
- * @param sqlMap
- * @param query
- * @return
- * @throws Exception
- */
- public Entity searchEntity(Entity entity)throws Exception;
- /**
- * 查询 实体列表
- * sqlKey searchEntityList
- * @param query
- * @return
- * @throws Exception
- */
- public List<Entity> searchEntityList(Entity entity) throws Exception;
- /**
- * 查询总数
- * @param sqlMap
- * @param query
- * @throws Exception
- */
- public int getEntityCount(Entity entity) throws Exception;
- }
2 ItemServiceImpl
- @Service
- public class ItemServiceImpl extends BaseServiceSupport<Item, Integer> implements IItemService<Item, Integer> {
- @Resource(name="itemDao")
- private ItemDao itemDao;
- }
五 Dao层
1 BaseDao
- public interface BaseDao<Entity extends Serializable, Query extends Object> {
- /**
- * 添加 实体
- * @param entity
- * @return
- * @throws SQLException
- */
- public Query insertEntity(Entity entity) throws SQLException;
- /**
- * 修改 实体
- * @param entity
- * @return
- * @throws SQLException
- */
- public int updateEntity(Entity entity) throws SQLException;
- /**
- * 删除 实体
- * @param entity
- * @return
- * @throws SQLException
- */
- public int deleteEntity(Entity entity) throws SQLException;
- /**
- * 根据实体参数查找单个数据
- * @param sqlMap
- * @param query
- * @return
- * @throws SQLException
- */
- public Entity searchEntity(Entity entity)throws SQLException;
- /**
- * 查询 实体列表
- * @param query
- * @return
- * @throws SQLException
- */
- public List<Entity> searchEntityList(Entity entity) throws SQLException;
- /**
- * 查询总数
- * @param sqlMap
- * @param query
- * @throws SQLException
- */
- public int getEntityCount(Entity entity) throws SQLException;
- }
1 DataResponse
- public class DataResponse<T> {
- private String page;
- private String total;
- private String records;
- private List<T> rows;
- private Map<String, Object> userdata;
- public String getPage() {
- return page;
- }
- public void setPage(String page) {
- this.page = page;
- }
- public String getTotal() {
- return total;
- }
- public void setTotal(String total) {
- this.total = total;
- }
- public String getRecords() {
- return records;
- }
- public void setRecords(String records) {
- this.records = records;
- }
- public List<T> getRows() {
- return rows;
- }
- public void setRows(List<T> rows) {
- this.rows = rows;
- }
- public Map<String, Object> getUserdata() {
- return userdata;
- }
- public void setUserdata(Map<String, Object> userdata) {
- this.userdata = userdata;
- }
- }
2 ResultResponse
- public class ResultResponse {
- private boolean message;
- private Integer id;
- public boolean getMessage() {
- return message;
- }
- public void setMessage(boolean message) {
- this.message = message;
- }
- public Integer getId() {
- return id;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- }
七 配置文件
application.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:tx="http://www.springframework.org/schema/tx"
- xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
- xmlns:p="http://www.springframework.org/schema/p"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:rabbit="http://www.springframework.org/schema/rabbit"
- xsi:schemaLocation="http://www.springframework.org/schema/mvc
- http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
- http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-2.5.xsd
- http://www.springframework.org/schema/tx
- http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
- http://code.alibabatech.com/schema/dubbo
- http://code.alibabatech.com/schema/dubbo/dubbo.xsd
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
- http://www.springframework.org/schema/rabbit
- http://www.springframework.org/schema/rabbit/spring-rabbit-1.0.xsd">
- <!-- 外部属性文件 -->
- <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="locations">
- <list>
- <value>classpath:jdbc.properties</value>
- </list>
- </property>
- </bean>
- <!-- 扫描注解组件并且自动的注入 -->
- <context:component-scan base-package="com.XXX.demo" />
- <mvc:annotation-driven/>
- <!-- 配置静态资源访问目录 -->
- <mvc:resources mapping="/resources/**" location="/resources/"/>
- <!-- JSP视图解析器 -->
- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
- <property name="prefix" value="/WEB-INF/views/"/>
- <property name="suffix" value=".jsp"/>
- </bean>
- <!-- JSON解析器 -->
- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
- <property name="messageConverters">
- <list>
- <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
- </list>
- </property>
- </bean>
- <!-- 设置数据源 -->
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
- <property name="driverClass" value="${jdbc.driverClassName}"/>
- <!-- 数据库参数配置 -->
- <property name="jdbcUrl" value="${jdbc.url}"/>
- <property name="user" value="${jdbc.username}"/>
- <property name="password" value="${jdbc.password}"/>
- <property name="minPoolSize" value="${c3p0.miniPoolSize}"/>
- <property name="maxPoolSize" value="${c3p0.maxPoolSize}"/>
- <property name="initialPoolSize" value="${c3p0.initialPoolSize}"/>
- <property name="maxIdleTime" value="${c3p0.maxIdleTime}"/>
- <!-- 超时20秒 -->
- <property name="checkoutTimeout" value="${c3p0.checkoutTimeout}"/>
- </bean>
- <!-- 声明事务为注解驱动 -->
- <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
- <property name="dataSource" ref="dataSource" />
- </bean>
- <tx:advice id="txAdvice" transaction-manager="transactionManager">
- <tx:attributes>
- <tx:method name="*" read-only="false" rollback-for="Exception,RuntimeException" propagation="REQUIRED"/>
- </tx:attributes>
- </tx:advice>
- <aop:config proxy-target-class="true">
- <aop:pointcut id="serviceManage" expression="execution(* com.XXX.demo.service..*(..))"/>
- <aop:advisor pointcut-ref="serviceManage" advice-ref="txAdvice"/>
- </aop:config>
- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
- <property name="dataSource" ref="dataSource" />
- <property name="configLocation" value="classpath:config/mybatis-config.xml" />
- </bean>
- <!-- Dao -->
- <bean id="itemDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
- <property name="mapperInterface" value="com.XXX.demo.dao.ItemDao" />
- <property name="sqlSessionFactory" ref="sqlSessionFactory" />
- </bean>
- </beans>
八 页面效果
http://localhost:8080/springJqgrid/main/items
九 总结
由于;
1 缺少值类型校验
2 缺少页面查询条件输入
所以这个例子离实际的应用还有一段距离。
十 鸣谢
http://krams915.blogspot.com/2010/12/jqgrid-and-spring-3-mvc-integration.html
jqGrid and Spring 3 MVC Integration Tutorial
http://blog.****.NET/kakaxi_77/article/details/46671249
Jqgrid+Struts2实现的增删改查
http://gongm-24.iteye.com/blog/1275430
JqGrid4.2实践-2-集成Spring MVC
---------------------------------------------------------------------------
*备注:
①值类型的校验应该使用custom_func,但我试过了,没起作用。目前原因未明。
--------------------------------------------------------------------------
【补充】
2017-05-18 补充了页面条件输入查询
说明:
①输入条件就是在页面加一个div
②js:
- function searchReload(){
- var client = $("#client").val();
- var amount = $("#amount").val();
- $("#gridTable").jqGrid("setGridParam",
- {
- url:"${basePath}/itCrud/list",
- mtype: 'POST',
- postData:{
- client:client,
- amount:amount
- },
- datatype: "json"
- }).trigger("reloadGrid");
- }
Description:
setGridParam:是jqGrid中的一个方法,表示设置grid的参数
url:这是grid的参数,表示数据的获取路径。grid中的数据就是通过这个url来获取的
postData:表示参数, 请求url时postData中的参数将会被发送到后台。
trigger: 这也是jqGrid的方法,该方法和setGridParam配合使用可以重新加载grid,$("").setGridParam().trigger("reloadGrid");
相关推荐
- Jqgrid+Spring实现的增删改查(一)
- spring-web整合(学生类增删改查web的实现)
- 基于Spring+Hibernate的通用增删改查的实现方法
- Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)...
- 八月二十实现二叉树的增删查,以及Build一个树
- 简易版的SSM框架maven项目实现CRUD【增Create、查Retrieve、改Update、删Delete】
- jaxp实现对xml文档的增,删,改,查操作(附源码)浅析
- 微信小程序借助云开发实现数据库的“增删改查”
- JAVA通过LDAP+SSL(证书)实现用户和组织(部门)增删改查(AD域服务的安装)
- 数据结构顺序表的“增删改查”功能实现
- datawindow.net 学习
- Windows8应用开发学习(四)AppBar