自制小功能的一些总结
来源:互联网 发布:网络延迟检测 编辑:程序博客网 时间:2024/05/01 05:13
增加截图宽高的管理功能,自由添加删除不同的宽高组合。目前所有的宽高组合都配置在服务器某个特定的路径下,如/geral/actix/huanhuan.txt,是.txt文件的形式,每个宽高组合占一行。
如下形式:
400X400
500X500
在页面上的呈现效果如下:
首先,读取该文件数据并在页面上展示出来的后台方法为:
FileInputStream inFile=new FileInputStream(ConfigReader.getInstance().getScrurepath());BufferedReader reader=new BufferedReader(new InputStreamReader(inFile, "utf-8"));List<ScreenshotForm> result=new ArrayList<ScreenshotForm>();String str=null;int i=0;while((str=reader.readLine())!=null){i++;ScreenshotForm screenshotForm = new ScreenshotForm();screenshotForm.setScreenshotid(i);if(str.indexOf("X") != -1){String[] wh = str.split("X");if(wh != null && wh.length > 0){screenshotForm.setWidth(wh[0]);screenshotForm.setHeight(wh[1]);}}result.add(screenshotForm);}inFile.close();reader.close();其对应的前端JSP页面为:
var table;$(function(){table = $("#table_data_pannel").jqTable({rowkey: "screenshotid",//pager: $("#pager"),buttonPanel:$("#div_function_panel"),//loadComplete:onLoadComplete,loadurl: '<%=request.getContextPath()%>/onfigurationData.do'});$("#b_query").click(function() {table.loadData('query'); }); table.loadData('init'); $('#div_function_panel').checkboxRegister(function(datas){$("#btn_update").buttonDisable();$("#btn_delete").buttonDisable();$("#btn_add").buttonEnable();if(datas.length < 1){$("#btn_update").buttonDisable();$("#btn_delete").buttonDisable();}if(datas.length > 1){$("#btn_delete").buttonEnable();}if(datas.length == 1){$("#btn_update").buttonEnable();$("#btn_delete").buttonEnable();if(datas[0].status == "0"){$("#btn_update").buttonDisable();}}});})增加一组参数的后台方法:
FileInputStream inFile=new FileInputStream(SMPConfigReader.getInstance().getScreenshotparameterconfigurepath());BufferedReader reader=new BufferedReader(new InputStreamReader(inFile, "utf-8"));List<String> result=new ArrayList<String>();String str=null;while((str=reader.readLine())!=null){if(str.indexOf("X") != -1){result.add(str);}}inFile.close();reader.close();ScreenshotForm actionForm=(ScreenshotForm) form;ScreenshotForm screenshotForm=new ScreenshotForm();if(actionForm!=null){String screenshotString=new String(actionForm.getWidth()+"X"+actionForm.getHeight());screenshotForm.setScreenshotid(actionForm.getScreenshotid());screenshotForm.setWidth(actionForm.getWidth());screenshotForm.setHeight(actionForm.getHeight());BufferedWriter writer=new BufferedWriter(new FileWriter(SMPConfigReader.getInstance().getScreenshotparameterconfigurepath()));for(String temp:result){writer.write(temp);writer.newLine();}writer.write(screenshotString);writer.newLine();writer.close();return JasonReturn(response, "0", null);}return null;在更新的时候,前端通过这种方法将之前页面的参数传给更新页面:
function doUpdate() {var checkboxes = $("input:checked[name=screenshotid]");var data = table.getCheckedRowData(checkboxes[0].value);var params = {};params.screenshotid=data[0].screenshotid;params.width=data[0].width;params.height=data[0].height;var url = "<%=request.getContextPath()%>/configure/UpdateScreenshotParameter.do?info="+JSON.stringify(params);$.webutil.showDialog({url: url,callback :updateCallback,showType :"coverage",args:""});function updateCallback(obj){if(obj.operation == btn.ok)table.loadData();}}
然后后台通过这种方式接收:
ScreenshotForm screenshotForm = (ScreenshotForm) JSONObject.toBean(JSONObject.fromObject(request.getParameter("info")), ScreenshotForm.class);request.setAttribute("screenshotForm", screenshotForm);
更新页面通过这种方式接收:
<table align="center" id="table_data_pannel"><tr><td align="right"><bean:message key="Configure.menu.wide"/><bean:message key="Colon" bundle="common"/></td><td align="left"><input type="text" class="text fv-trim" name="width" size="20" maxlength="32" value='<csc:newwrite name="screenshotForm" property="width"/>'></td><%-- <td align="right"><bean:message key="CopyRight.CPStatus" bundle="copyright"/><bean:message key="Colon" bundle="common"/></td> --%><td align="right"><bean:message key="Comfigure.menu.high"/><bean:message key="Colon" bundle="common"/></td><td align="left"><input type="text" class="text fv-trim" name="height" size="20" maxlength="32" value='<csc:newwrite name="screenshotForm" property="height"/>'/></td></tr></table>至于删除功能,其对应的前端删除方法为:
function doDelete() {var checkboxes = $("input:checked[name=screenshotid]");var data = table.getCheckedRowData();var arr = [];for(var i=0; i<data.length; i++){arr.push(data[i].screenshotid);}$.webutil.confirm("<bean:message key='common.msg.delete.confirm' bundle='common'/>", function(v) { if ( v ) { var params = {}; params.idStr = table.checkedRowID.join(",");var url = '<%=request.getContextPath()%>/configure/DeleteScreenshotParameterData.do';$.ajaxSubmit(url,false , params,function(result){if(result.code == 0){ table.loadData(); clearControl(); if(checkboxes.length == 1) $.webutil.bubbleMessage("<bean:message key='bubble.message.delete.title' bundle='common'/>", "<bean:message key='bubble.message.delete.title' bundle='common'/>"); else $.webutil.bubbleMessage("<bean:message key='bubble.message.delete.title' bundle='common'/>", "<bean:message key='bubble.message.delete.title' bundle='common'/>" , checkboxes.length); } else { table.loadData(); $.webutil.alert("<bean:message key='ErrorCode' bundle='errormessage'/>"+result.code+"<br/>"+result.message); }})}});}其对应的后台方法为:
String idStr = request.getParameter("idStr");String[] ids = idStr.split(",");FileInputStream inFile=new FileInputStream(SMPConfigReader.getInstance().getScreenshotparameterconfigurepath());BufferedReader reader=new BufferedReader(new InputStreamReader(inFile, "utf-8"));List<String> result=new ArrayList<String>();String str=null;while((str=reader.readLine())!=null){if(str.indexOf("X") != -1){result.add(str);}}inFile.close();reader.close();List<String> newRes =new ArrayList<String>();for(int i=0; i<result.size(); i++){boolean flag = true;for(String s : ids){if((i+1) == Integer.valueOf(s)){flag = false;break;}}if(flag){newRes.add(result.get(i));}}BufferedWriter writer=new BufferedWriter(new FileWriter(SMPConfigReader.getInstance().getScreenshotparameterconfigurepath()));for(String temp:newRes){writer.write(temp);writer.newLine();}writer.close();JasonReturn(response, "0", "");其实这个Form没有唯一标识,然后人为加了一个唯一标识,作为识别的依据。
阅读全文
0 0
- 自制小功能的一些总结
- 一些小功能的总结
- 总结HoloLens的一些小功能
- 一些常用的小功能
- 一些小功能的解释
- 一些小功能的累积
- 最近的一些小总结
- MiniDraw的一些小总结
- el 的一些小总结
- 大牛们的一些小总结
- js的一些小总结
- FreeMarker的一些小总结
- Regx的一些小总结
- Oracle的一些小总结
- Java的一些小总结
- 总结的一些小知识点
- 笔试的一些小总结
- 开发的一些小总结
- Centos 6.9 Install SFTP
- 利用aio+epoll简单改写sendfile
- pseudoinverse matrix
- 奇淫技巧____查看本网段内正在使用的IP以及ip定位
- [py]for else案例
- 自制小功能的一些总结
- C++ Primer 读书笔记——变量和基本类型
- 安装和认识express框架
- openrestry 安装
- web面试经验
- 乐观锁与悲观锁及应用举例
- 三角形边长求面积
- Javascript this对象
- hpuoj【1070】Welcome to HPU Online Judge!【素数拆分】