自制小功能的一些总结

增加截图宽高的管理功能,自由添加删除不同的宽高组合。目前所有的宽高组合都配置在服务器某个特定的路径下,如/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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值