您的位置:首页 > Web前端 > JQuery

简单的前后台数据交互

2017-03-08 14:49 246 查看
前端:JQuery、easyui

后端:Spring、SpringMVC、Hibernate、myself(随便起的)

各框架版本...不详。

HTML

<body class="easyui-layout" data-options="fit : true,border : false">
<div id="XXXSearch" class="easyui-layout" data-options="fit:true" style="margin:3px">
<div region="center">
<table id="XXXGrid" data-options="fit:true"></table>
<div id="XXXGrid_toolBarGroup">
<div id="XXXGrid_toolBarGroup1" class="datagrid-toolbar">
<div style="padding:6px 0 6px 0px;background-color: white">
<a id="add_xxx_button" style="margin-left: 20px;"href="javascript:void(0)" onclick="javascript:addXXX()" class="easyui-linkbutton"  plain="true" >添加</a>
<a id="edit_xxx_button" href="javascript:void(0)" onclick="javascript:editXXX()" class="easyui-linkbutton"  plain="true" >修改</a>
<a id="remove_xxx_button" href="javascript:void(0)" onclick="javascript:removeXXX()" class="easyui-linkbutton"  plain="true" >删除</a>
<a id="detail_xxx_button" href="javascript:void(0)" onclick="javascript:forXXX()" class="easyui-linkbutton"  plain="true" >详情</a>
</div>
</div>
<div id="XXXGrid_toolBarGroup2">
<div style="padding:6px
0 6px 0px;background-color: white">
<label style="margin-left: 25px;" for="name">查询条件1:</label>
<input id="name"  class="easyui-textbox"></input>
<label style="margin-left: 25px;" for="startDate">查询条件2:</label>
<input id="startDate"   class="easyui-datebox" data-options="editable:'false',onChange:function(){checkTime()}"></input> - 
<input id="endDate"  class="easyui-datebox" data-options="editable:'false',"></input>
<a id="submit_xxx_button" href="javascript:void(0)" class="easyui-linkbutton" onclick="searchContent()">查询</a>
<a id="submit_xxx_button" href="javascript:void(0)" class="easyui-linkbutton" onclick="clearCondition()">清空</a>
</div>
</div>
</div>
</div>
</div> 

<!-- 添加/修改窗口  -->

<div id="addxxx" class="easyui-window" data-options="minimizable:false,maximizable:false,
collapsible:false,closed:true,modal:true" style="width:500px;height:250px;">
<form id='addxxxFrom' action="">
<input id="id"  type="hidden">
<table style="height: 100px;width:97%;margin:auto;">
<tr height="25px"></tr>
<tr>
<td width="25%" class="tdBorderCss1"><b>字段1:</b></td>
<td width="25%" class="tdBorderCss2">
<input id="col1"   class="easyui-combobox" />
</td>
<td></td>
<td></td>
</tr>
<tr>
<td width="20%" class="tdBorderCss1" rowspan="3"><b>备注:</b></td>
<td colspan="2" rowspan="3" width="75%" class="tdBorderCss2" id="purchaseDesc" >
<textarea id="col2"  style="width:99%;height:99%"></textarea>
</td>
</tr>
<tr height="25px"></tr>
<tr height="25px"></tr>
<tr height="25px"></tr>
<tr>
<td colspan="4">
<div style="text-align: center">
<a href="javascript:void(0)" class="easyui-linkbutton" style="margin-right: auto;" onclick="javascript:forSave()">保存</a>
</div>
<td>
</tr>
</table>
</form>
</div>

</body>

JS

$(function() {

builderGrid();
}

function builderGrid(){
$('#XXXGrid').datagrid({
toolbar : '#XXXGrid_toolBarGroup',
url : path+'/queryXXXList?param='+param,
pagination:true,
rownumbers:true,
fitColumns:true,
striped : true,
loadMsg : '请稍候......',
sortOrder : 'desc',
remoteSort : false,
pageSize : 10,
pageList : [ 5, 10, 15],
columns : [ [
ba1d
{
field : 'COL1',
title : 'ID',
checkbox : true
},{
field : 'COL2',
title : 'COL2'',
width : 30,
align : 'center'
},{
field : 'COL3',
title : 'COL3',
width : 40,
align: 'center',
formatter: function (value, row, index) {

                if (value != null) {

                    return (parseFloat(value).toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');

              }else{

  return "0.00";

             }

            }] ]
})
}

Controller

@RequestMapping("/queryXXXList")
public void queryXXXList(
@RequestParam("page") int pageno,@RequestParam("rows")int pagesize,
@RequestParam(value="param") String param,
@RequestParam(value="name",required=false) String name,
@RequestParam(value="startDate",required=false) String startDate,
@RequestParam(value="endDate",required=false) String endDate,
HttpServletResponse res){
Page<XXX> page = new Page<>();
page.setPageNo(pageno);//设置页码
page.setPageSize(pagesize);//设置每页显示的数目
List sList =XXXService.queryXXXList(page,param,name,startDate,endDate);
Map<String, Object> resMap =new HashMap<String, Object>();
resMap.put("rows", sList);
resMap.put("total", page.getTotalRecord());
PrintWriter out=null;
JsonConfig jsonConfig = new JsonConfig();

        jsonConfig.registerJsonBeanProcessor(java.sql.Date.class, new JsDateJsonBeanProcessor());

        JSONObject o=JSONObject.fromObject(resMap, jsonConfig);
try {
out=res.getWriter();
out.print(o);
} catch (IOException e) {
e.printStackTrace();
}finally{
out.close();
}
}

IService/ServiceImpl


略...

IDao/DaoImpl

public List XXXList(Page page,String paran,String name,String startDate,String endDate) {
List<Object> param = new ArrayList<>();
StringBuilder sql=new StringBuilder();
sql.append(" select xxx,xxx........where 1=1");
param.add(param);
if(StringUtils.isNotBlank(name)&& !"null".equals(name)){
sql.append(" and b.operator_name like ?");
param.add("%"+name+"%");
}
if(StringUtils.isNotBlank(startDate)&& !"null".equals(startDate)){
sql.append(" and DATE >= to_date(?,'YYYY-MM-DD') ");
param.add(startDate);
}
if(StringUtils.isNotBlank(endDate)&& !"null".equals(endDate)){
sql.append(" and DATE <= to_date(?,'YYYY-MM-DD') ");
param.add(endDate);
}
sql.append(" ORDER BY DATE DESC");
List<Map<String, Object>> sList=baseDao.findBySqlFY(sql.toString(), page,param.toArray());
StringBuffer sqlCount=new StringBuffer("SELECT COUNT(1) AS COUNTNUM FROM (").append(sql.toString()).append(")");
List<Map<String,Object>> list1 = baseDao.findBySql(sqlCount.toString(), param.toArray());
int countNum = 0;
if(list1.size() > 0){
countNum = Integer.valueOf(String.valueOf(list1.get(0).get("COUNTNUM"))).intValue();
}
page.setTotalRecord(countNum);
return sList;
}


框架BaseDao

然而并没有没版权,其实大家都会的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐