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

jquery flexigrid for java增删查改完整示例--前台

2011-11-15 13:54 627 查看
没有时间整一个只带flexigrid插件的示例,有时间了,再好好给整理出来,在这个前台里,增删查改全部都在这个页面操作了,采用DIV弹窗的方式,这种方式写前台代码有点头疼,以后再改进改进,把页面分开比较好.

前台页面代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.fckeditor.net" prefix="FCK" %>

<%

String path = request.getContextPath();

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title></title>

<link rel="stylesheet" type="text/css" href="<%=path %>/skins/blue/css/public.css" />

<link type="text/css" rel="stylesheet" href="<%=path %>/skins/blue/css/jquerydivbox.css" />

<link rel="stylesheet" type="text/css" href="<%=path %>/skins/blue/css/flexigrid/flexigrid.css" />

<script type="text/javascript" src="<%=path %>/skins/blue/common/jquery/jquery.js"></script>

<script type="text/javascript" src="<%=path %>/skins/blue/common/jquery/flexigrid.js"></script>

<script type="text/javascript" src="<%=path %>/skins/blue/common/jquery/jquery-ui-personalized.js"></script>

<script type="text/javascript" src="<%=path %>/skins/blue/common/jquery/jquery.blockUI.js"></script>

<script type="text/javascript" src="<%=path %>/skins/blue/common/calendar/wdatePicker.js"></script>

<script type="text/javascript" src="<%=path %>/skins/blue/common/jquery/jquery.bgiframe.js"></script>

<script type="text/javascript" src="<%=path %>/skins/blue/js/jquerydivbox.js"></script>

<script type="text/javascript" src="<%=path %>/fckeditor/fckeditor.js"></script>

</head>

<body>

<!-- 查询区开始 -->

<form id="sform">

<table width="100%" class="searchTable">

<tr>

<td class="searchTdTitle" colspan="6">论文库管理</td>

</tr>

<tr>

<td class="searchTdText">题名</td>

<td class="searchTdInput"><input type="text" name="papTitle" id="papTitle" /></td>

<td class="searchTdText">副标题</td>

<td class="searchTdInput"><input type="text" name="papTitleS" id="papTitleS" /></td>

<td class="searchTdText">作者</td>

<td class="searchTdInput"><input type="text" name="papAuthor" id="papAuthor" /></td>

</tr>

<tr>

<td class="searchTdText">关键词</td>

<td class="searchTdInput"><input type="text" name="papKeyword" id="papKeyword" /></td>

<td class="searchTdText">摘要</td>

<td class="searchTdInput"><input type="text" name="papAbstract" id="papAbstract" /></td>

<td class="searchTdText">作者单位</td>

<td class="searchTdInput"><input type="text" name="papDepart" id="papDepart" /></td>

</tr>

<tr>

<td class="searchTdButton" colspan="6"><input type="submit" class="wsbutton" value="查  询" onMouseOver="this.className='wsbutton_hover'" onMouseOut="this.className='wsbutton'"></td>

</tr>

</table>

</form>

<!-- 查询区结束 -->

<!-- 列表区开始 -->

<table id="datalist" style="display: none"></table>

<script type="text/javascript">

$("#datalist").flexigrid({

colModel : [

{display: '序号', name : 'id', width : 50, sortable : false, align: 'left'},

{display: '题名', name : 'papTitle', width : 150, sortable : true, align: 'left'},

{display: '作者', name : 'papAuthor', width : 100, sortable : true, align: 'left'},

{display: '期刊', name : 'papJourney', width : 100, sortable : true, align: 'left'},

{display: '发表日期', name : 'papPubtime', width : $(window).width()-462, sortable : true, align: 'left'}

],

buttons : [

{name :'添加',bclass:'add',onpress:action},

{name :'修改',bclass:'edit',onpress:action},

{name :'删除',bclass:'delete',onpress:action},

{separator : true}

],

url: '<%=path%>/blPaper.do?action=findByAll',

method:'POST',//数据传送模式

dataType :'json',//回传数据的类型,可以为xml和json

sortname :"papTitle",//预设指定哪列进行排序

sortorder :"desc",//预设排序的方式

usepager :true,//是否启用分页器

title :'论文库列表',//标题

useRp :true,//使用分页大小选择器

rp :10,//resultsperpage,预设的分页大小

striped:true,//奇偶行颜色相互交叉,不设置默认为true

showTableToggleBtn :true,//显示或关闭隐藏栏位的开启器

width: 'auto',

height :278,//表格高度(注意不能使用100%之类的字符串)

resizable:false,//是否可调整列表窗口大小,不设置默认为true

onSubmit :addFormData,//数据提交时调用的自定义函数

nowrap:true,//是否重叠,true为不启用重叠,flase为启用重叠

procmsg:'资料读取中,请稍后......',//读取时的信息

pagestat:'显示从{from}到{to}条数据,共有{total}条数据',//分页器的显示信息

nomsg:'打不到符合条件的数据'//没有数据时的信息

});

function addFormData() {

var dt = $('#sform').serializeArray();

$("#datalist").flexOptions( {

params :dt

});

return true;

}

$('#sform').submit( function() {

$('#datalist').flexOptions( {

newp :1

}).flexReload();

return false;

});

//新增,修改,删除操作

function action(com, grid) {

if (com=='删除') {

if ($(".trSelected").length > 0) {

if (confirm('是否删除 ' + $('.trSelected', grid).length + ' 条记录吗?')) {

var id = "";

for (var i = 0; i < $('.trSelected', grid).length; i++) {

if(i<$('.trSelected', grid).length-1){

id += "id=" + $('.trSelected').eq(i).attr('id').substring(3) + "&";

}else if(i==$('.trSelected', grid).length-1){

id += "id=" + $('.trSelected').eq(i).attr('id').substring(3);

}

}

$.blockUI({ message: '<div class="showMsg">正在删除中,请稍等....</div>' });

$.get("<%=path%>/blPaper.do?action=delete&" + id, function(data, status, Request){

$(".showMsg").html(data);

})

}

} else {

alert("请选择某行删除!");

}

} else if (com=='添加') {

//新增弹窗操作

$.jquerydivboxs.open('#addbox',{width:800,height:450,title:'论文添加'});

} else if (com=='修改') {

//修改弹窗操作

if($('.trSelected', grid).length==1){

var id='0';

for (var i = 0; i < $('.trSelected', grid).length; i++) {

id=$('.trSelected').eq(i).attr('id').substring(3)

}

var url="<%=path%>/blPaper.do?action=findById&id="+id;

$.getJSON(

url,

function(data){

$("#papIdEdit").attr("value", data.papId);

$("#papTitleEdit").attr("value", data.papTitle);

$("#papTitleSEdit").attr("value", data.papTitleS);

if(data.papTop==1){

$('input[name=papTopEdit]').get(0).checked = true;

}else if(data.papTop==0){

$('input[name=papTopEdit]').get(1).checked = true;

}

if(data.papPublish==1){

$('input[name=papPublishEdit]').get(0).checked = true;

}else if(data.papPublish==0){

$('input[name=papPublishEdit]').get(1).checked = true;

}

if(data.papDownload==1){

$('input[name=papDownloadEdit]').get(0).checked = true;

}else if(data.papDownload==0){

$('input[name=papDownloadEdit]').get(1).checked = true;

}

FCKeditorAPI.GetInstance('papTextEdit').SetHTML(data.papText);

}

);

$.jquerydivboxs.open('#editbox',{width:800,height:450,title:'论文修改'});

}else{

alert("请只选择一行!");

}

}

}

//新增操作

function insertAction(){

var papTitle=$("#papTitleAdd").val();

var papTitleS=$("#papTitleSAdd").val();

var papText=FCKeditorAPI.GetInstance("papTextAdd").EditorDocument.body.innerHTML;

var papTop=$("input[name='papTopAdd']:checked").val();

var papPublish=$("input[name='papPublishAdd']:checked").val();

var papDownload=$("input[name='papDownloadAdd']:checked").val();

var sendData="papTitle="+ encodeURIComponent(papTitle)+"&papTitleS="+encodeURIComponent(papTitleS);

sendData=sendData+"&papAuthor="+encodeURIComponent(papAuthor)+"&papAuthorF="+encodeURIComponent(papAuthorF);

sendData=sendData+"&papDepart="+encodeURIComponent(papDepart)+"&papKeyword="+encodeURIComponent(papKeyword);

sendData=sendData+"&papAbstract="+encodeURIComponent(papAbstract)+"&papPubtime="+encodeURIComponent(papPubtime);

sendData=sendData+"&papVolum="+encodeURIComponent(papVolum)+"&papJourney="+encodeURIComponent(papJourney);

sendData=sendData+"&papPages="+encodeURIComponent(papPages)+"&papSupport="+encodeURIComponent(papSupport);

sendData=sendData+"&papText="+encodeURIComponent(papText)+"&papTop="+encodeURIComponent(papTop);

sendData=sendData+"&papPublish="+encodeURIComponent(papPublish)+"&papDownload="+encodeURIComponent(papDownload);

$.blockUI({ message: "<div class='showMsg'>数据添加中,请稍后...</div> "});

$.ajax({

url: "<%=path%>/blPaper.do?action=add",

type:'post', //数据发送方式

dataType:'html', //接受数据格式

data: sendData ,

success: function(data){ $(".showMsg").html(data); }

});

}

//修改操作

function updateAction(){

var papId=$("#papIdEdit").val();

var papAddman=$("#papAddmanEdit").val();

var papAddtime=$('#papAddtimeEdit').val();

var papTitle=$("#papTitleEdit").val();

var papTitleS=$("#papTitleSEdit").val();

var papText=FCKeditorAPI.GetInstance("papTextEdit").EditorDocument.body.innerHTML;

var papTop=$("input[name='papTopEdit']:checked").val();

var papPublish=$("input[name='papPublishEdit']:checked").val();

var papDownload=$("input[name='papDownloadEdit']:checked").val();

var sendData="papId="+ encodeURIComponent(papId)+"&papTitle="+ encodeURIComponent(papTitle)+"&papTitleS="+encodeURIComponent(papTitleS);

sendData=sendData+"&papAuthor="+encodeURIComponent(papAuthor)+"&papAuthorF="+encodeURIComponent(papAuthorF);

sendData=sendData+"&papDepart="+encodeURIComponent(papDepart)+"&papKeyword="+encodeURIComponent(papKeyword);

sendData=sendData+"&papAbstract="+encodeURIComponent(papAbstract)+"&papPubtime="+encodeURIComponent(papPubtime);

sendData=sendData+"&papVolum="+encodeURIComponent(papVolum)+"&papJourney="+encodeURIComponent(papJourney);

sendData=sendData+"&papPages="+encodeURIComponent(papPages)+"&papSupport="+encodeURIComponent(papSupport);

sendData=sendData+"&papText="+encodeURIComponent(papText)+"&papTop="+encodeURIComponent(papTop);

sendData=sendData+"&papPublish="+encodeURIComponent(papPublish)+"&papDownload="+encodeURIComponent(papDownload);

sendData=sendData+"&papAddman="+encodeURIComponent(papAddman)+"&papAddtime="+encodeURIComponent(papAddtime);

$.blockUI({ message: "<div class='showMsg'>数据修改中,请稍后...</div> "});

$.ajax({

url: "<%=path%>/blPaper.do?action=update",

type:'post', //数据发送方式

dataType:'html', //接受数据格式

data: sendData ,

success: function(data){ $(".showMsg").html(data); }

});

}

//打开详细页面

function openDetail(id){

$('#detailshow').empty();

$.jquerydivboxs.open('#detailbox',{width:800,height:450,title:'论文详情'});

var url="<%=path%>/blPaper.do?action=findById&id="+id;

$.getJSON(

url,

function(data){

var papTop="";

var papPublish="";

var papDownload="";

if(data.papTop==1){

papTop="是";

}else if(data.papTop==0){

papTop="否";

}

if(data.papPublish==1){

papPublish="是";

}else if(data.papPublish==0){

papPublish="否";

}

if(data.papDownload==1){

papDownload="是";

}else if(data.papDownload==0){

papDownload="否";

}

var html='<div class="newsShow">';

html+='<table class="divTable" align="center">';

html+=' <tr>';

html+=' <td class="divLeftTd">题名</td>';

html+=' <td colspan="3" class="divRightTd">'+data.papTitle+'</td>';

html+=' </tr>';

html+=' <tr>';

html+=' <td class="divLeftTd">副标题</td>';

html+=' <td colspan="3" class="divRightTd">'+data.papTitleS+'</td>';

html+=' </tr>';

html+=' <tr>';

html+=' <td class="divLeftTd">全文</td>';

html+=' <td colspan="3" class="divRightTd">'+data.papText+'</td>';

html+=' </tr>';

html+=' <tr>';

html+=' <td class="divLeftTd">全文附件</td>';

html+=' <td colspan="3" class="divRightTd"></td>';

html+=' </tr>';

html+=' <tr>';

html+=' <td class="divLeftTd">置顶</td>';

html+=' <td class="divRightTd">'+papTop+'</td>';

html+=' <td class="divLeftTd">是否发布</td>';

html+=' <td class="divRightTd">'+papPublish+'</td>';

html+=' </tr>';

html+=' <tr>';

html+=' <td class="divLeftTd">是否允许下载</td>';

html+=' <td class="divRightTd">'+papDownload+'</td>';

html+=' <td class="divLeftTd"> </td>';

html+=' <td class="divRightTd"> </td>';

html+=' </tr>';

html+='</table>';

html+='</div>';

$('#newsShow').append($(html));

}

);

}

</script>

<!-- 列表区结束 -->

<!--新增页面DIV窗口开始-->

<div id="addbox" style="display:none">

<form method="post">

<table class="divTable" align="center">

<tr>

<td class="divTdText">题名</td>

<td class="divTdInput" colspan="3"><input type="text" name="papTitleAdd" id="papTitleAdd" style="width:536px;" /></td>

</tr>

<tr>

<td class="divTdText">副标题</td>

<td class="divTdInput" colspan="3"><input type="text" name="papTitleSAdd" id="papTitleSAdd" style="width:536px;" /></td>

</tr>

<tr>

<td class="divTdText">作者</td>

<td class="divTdInput"><input type="text" name="papAuthorAdd" id="papAuthorAdd" /></td>

<td class="divTdText">第一作者</td>

<td class="divTdInput"><input type="text" name="papAuthorFAdd" id="papAuthorFAdd" /></td>

</tr>

<tr>

<td class="divTdText">全文</td>

<td class="divTdInput" colspan="3">

<FCK:editor instanceName="papTextAdd">

<jsp:attribute name="value"></jsp:attribute>

</FCK:editor>

</td>

</tr>

<tr>

<td class="divTdText">全文附件</td>

<td class="divTdInput" colspan="3"><input type="button" class="wsbutton" value="附件上传" onMouseOver="this.className='wsbutton_hover'" onMouseOut="this.className='wsbutton'" onclick="$.jquerydivboxs.open('#fileupload',{width:600,height:200,title:'附件上传'});"></td>

</tr>

<tr>

<td class="divTdText">是否置顶</td>

<td class="divTdInput">是<input class="radioInput" name="papTopAdd" type="radio" value="1" />否<input class="radioInput" name="papTopAdd" type="radio" value="0" checked /></td>

<td class="divTdText">是否发布</td>

<td class="divTdInput">是<input class="radioInput" name="papPublishAdd" type="radio" value="1" checked />否<input class="radioInput" name="papPublishAdd" type="radio" value="0" /></td>

</tr>

<tr>

<td class="divTdText">是否允许下载</td>

<td class="divTdInput">是<input class="radioInput" name="papDownloadAdd" type="radio" value="1" checked />否<input class="radioInput" name="papDownloadAdd" type="radio" value="0" /></td>

<td class="divTdText"></td>

<td class="divTdInput"></td>

</tr>

<tr>

<td class="divTdButton" align="center" colspan="4">

<input type="button" class="dialog-ok" value="保  存" onMouseOver="this.className='wsbutton_hover'" onMouseOut="this.className='wsbutton'" onClick="insertAction()">

<input type="button" class="dialog-cancel" value="取  消" onMouseOver="this.className='wsbutton_hover'" onMouseOut="this.className='wsbutton'">

</td>

</tr>

</table>

</form>

</div>

<!--新增页面DIV窗口结束-->

<!--修改页面DIV窗口开始-->

<div id="editbox" style="display:none">

<form method="post">

<input type="hidden" name="papIdEdit" id="papIdEdit" />

<input type="hidden" name="papAddmanEdit" id="papAddmanEdit" />

<input type="hidden" name="papAddtimeEdit" id="papAddtimeEdit" />

<table class="divTable" align="center">

<tr>

<td class="divTdText">题名</td>

<td class="divTdInput" colspan="3"><input type="text" name="papTitleEdit" id="papTitleEdit" style="width:536px;" /></td>

</tr>

<tr>

<td class="divTdText">副标题</td>

<td class="divTdInput" colspan="3"><input type="text" name="papTitleSEdit" id="papTitleSEdit" style="width:536px;" /></td>

</tr>

<tr>

<td class="divTdText">全文</td>

<td class="divTdInput" colspan="3">

<FCK:editor instanceName="papTextEdit">

<jsp:attribute name="value"></jsp:attribute>

</FCK:editor>

</td>

</tr>

<tr>

<td class="divTdText">全文附件</td>

<td class="divTdInput" colspan="3"><input type="button" class="wsbutton" value="附件上传" onMouseOver="this.className='wsbutton_hover'" onMouseOut="this.className='wsbutton'" onclick="$.jquerydivboxs.open('#fileupload',{width:600,height:200,title:'附件上传'});"></td>

</tr>

<tr>

<td class="divTdText">是否置顶</td>

<td class="divTdInput">是<input class="radioInput" name="papTopEdit" type="radio" value="1" />否<input class="radioInput" name="papTopEdit" type="radio" value="0" /></td>

<td class="divTdText">是否发布</td>

<td class="divTdInput">是<input class="radioInput" name="papPublishEdit" type="radio" value="1" />否<input class="radioInput" name="papPublishEdit" type="radio" value="0" /></td>

</tr>

<tr>

<td class="divTdText">是否允许下载</td>

<td class="divTdInput">是<input class="radioInput" name="papDownloadEdit" type="radio" value="1" />否<input class="radioInput" name="papDownloadEdit" type="radio" value="0" /></td>

<td class="divTdText"></td>

<td class="divTdInput"></td>

</tr>

<tr>

<td class="divTdButton" align="center" colspan="4">

<input type="button" class="dialog-ok" value="保  存" onMouseOver="this.className='wsbutton_hover'" onMouseOut="this.className='wsbutton'" onClick="updateAction()">

<input type="button" class="dialog-cancel" value="取  消" onMouseOver="this.className='wsbutton_hover'" onMouseOut="this.className='wsbutton'">

</td>

</tr>

</table>

</form>

</div>

<!--修改页面DIV窗口结束-->

<!--详细页面DIV窗口开始-->

<div id="detailbox" style="display:none">

<div id="newsShow"></div>

</div>

<!--详细页面DIV窗口结束-->

</body>

</html>

后台代码示例,有时间再整出来,这段前台代码里面有的不是flexigrid的,是弹窗DIV和TAB的,可以当个参考,以后有时间了,再把整个前台和后台的代码都发出来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: