关于在同一张jsp里面根据不同的按钮点击实现不同字段显示

场景再现:在这里插入图片描述
需求为实现红框中所有字段的撰取效果;
传统做法:新建十几张不同的jsp+不同的存储过程;这样能简单实现,但是一旦碰到后期修改就需要花费很长时间进行维护;
我们的解决方法:首先,为我们每个按钮添加跳转方法的同时,加上标记属性,QTAG,当QTAG=1时,显示管理费字段,当QTAG=2时,显示XXX字段;

function GL_F() {
	
			$("form:eq(0)")
			.attr(
					"action",
					"loadDataDAOP.action?reloadName=/WEB-INF/jsp/fsy/web/sum_glfee.jsp&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc&cmd.QTAG=1")
			.submit();

	
	}
	function KZ_F() {
	
			$("form:eq(0)")
			.attr(
					"action",
					"loadDataDAOP.action?reloadName=/WEB-INF/jsp/fsy/web/sum_glfee.jsp&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc&cmd.QTAG=2")
			.submit();

其次,我们在详细页的form表单中添加隐藏域来保存QTAG属性,以方便我们在使用if判断的时候能够正常执行;

<form method="post" name="listForm" id="listForm" class="detailForm" style='padding-bottom:20px;' action="loadDataDAOP.action?cmd.sqlKey=ZJM_TEST.GL_FEE&reloadName=/WEB-INF/jsp/fsy/web/sum_glfee.jsp&cmd.sqlType=proc">
			<input type="hidden" value="${page.currentPage}" name="page.currentPage" id="currentPage" />
			<input type="hidden" value="${mapParam.QTAG}" name="cmd.QTAG" id="QTAG" />
			<input type="hidden" name="cmd.QORDER_STATE" value="${mapParam.QORDER_STATE }" id='QORDER_STATE' />
								<div class='tableCount' style="border-top: 1px solid #ddd;">
				<div class="tableLeft">
					共检测到<span>${page.allRecordCount}</span>条数据
				</div>
			</div> 		

最后,我们再使用jsp里面的if循环,判断QTAG属性来选择性的显示不同字段;

<c:choose>
					<c:when test="${mapParam.QTAG==1}">
					<td width='10%'>管理费金额(元)</td>
					</c:when>
					<c:when test="${mapParam.QTAG==2}">
					<td width='10%'>刻字费金额(元)</td>
					</c:when>
					<c:when test="${mapParam.QTAG==3}">
					<td width='10%'>贴金费金额(元)</td>
					</c:when>
					<c:when test="${mapParam.QTAG==4}">
					<td width='10%'>照片费1金额(元)</td>
					</c:when>
					<c:when test="${mapParam.QTAG==5}">
					<td width='10%'>照片费2金额(元)</td>
					</c:when>
					<c:when test="${mapParam.QTAG==6}">
					<td width='10%'>照片费3金额(元)</td>
					</c:when>
					<c:when test="${mapParam.QTAG==11}">
					<td width='10%'>刻福字费金额(元)</td>
					</c:when>
					<c:when test="${mapParam.QTAG==7}">
					<td width='10%'>再次安葬费金额(元)</td>
					</c:when>
					<c:when test="${mapParam.QTAG==8}">
					<td width='10%'>客服费金额(元)</td>
					</c:when>
					<c:when test="${mapParam.QTAG==9}">
					<td width='10%'>材料费金额(元)</td>
					</c:when>
					<c:when test="${mapParam.QTAG==10}">
					<td width='10%'>其他费金额(元)</td>
					</c:when>
				</c:choose>

补充:当我们为该页面做列表导出的时候,我们也需要获取到QTAG属性从而选择性的导出相应的表格;

function exportClick() {
		if (confirm("确定要导出列表数据吗?")) {
		
		var b="${mapParam.QTAG}";
		alert(b);
		switch(b){
		case '1':
			pubJS_exportExcel_V1(
					"listForm",
					"cmd.xlsKey=export_gl_fee&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc");
					break; 
		case '2':
			pubJS_exportExcel_V1(
					"listForm",
					"cmd.xlsKey=export_kz_fee&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc");
					break;
		case '3':
			pubJS_exportExcel_V1(
					"listForm",
					"cmd.xlsKey=export_tj_fee&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc");
					break;
		case '4':
			pubJS_exportExcel_V1(
					"listForm",
					"cmd.xlsKey=export_zp_f1&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc");
					break;
		case '5':
			pubJS_exportExcel_V1(
					"listForm",
					"cmd.xlsKey=export_zp_f2&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc");
					break;
		case '6':
			pubJS_exportExcel_V1(
					"listForm",
					"cmd.xlsKey=export_zp_f3&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc");
					break;
		case '7':
			pubJS_exportExcel_V1(
					"listForm",
					"cmd.xlsKey=export_zaz_fee&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc");
					break;
		case '8':
			pubJS_exportExcel_V1(
					"listForm",
					"cmd.xlsKey=export_kf_fee&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc");
					break;
		case '9':
			pubJS_exportExcel_V1(
					"listForm",
					"cmd.xlsKey=export_cl_fee&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc");
					break;
		case '10':
			pubJS_exportExcel_V1(
					"listForm",
					"cmd.xlsKey=export_other_fee&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc");
					break;	
		default:
		pubJS_exportExcel_V1(
					"listForm",
					"cmd.xlsKey=export_kfz_fee&cmd.sqlKey=ZJM_TEST.GL_FEE&cmd.sqlType=proc");
					break;	
			}		
		}
	}

切记:这里的listForm要对应表导中的listForm,因为我们的form表单中有隐藏域的条件,故我们无需在拼装导出sql的时候加条件!

关于列表导出

我们在jsp写好导出按钮逻辑后,并且上传excel模板后,为了实现本地导出成功模拟,需要修改本地的配置文件;resource->context-inter-pub.xml,

<!-- 附件管理接口配置信息 -->
	<bean id="uploadUrl" class="com.gaf.wqsm.pub.command.UploadUrl">
		<property name="ENCRYKEY" value="" />
		<!-- 本地存储路径(这里要修改成项目本地的存储路径) -->
		<property name="tmpPath" value="E:\workPlace\fsy\WebRoot" />
		<property name="rootPath" value="E:\workPlace\fsy\WebRoot" />
		<property name="modelPath" value="E:\workPlace\fsy\WebRoot" /> 
		<property name="tmpFile" value="tmpFile.txt" />
<!-- 数据库表前的相对路径 -->
		<property name="subUrl" value="/files/upload/" />
		<property name="open" value="true" />
		<property name="delTag" value="false" /><!-- 附件上传后是否删除本地附件,true为删除,false为不删除 -->
		<property name="uploadActionUrl" value="uploadFileUFA.action" />
<!-- 服务器之间访问地址 -->
	<property name="uploadFileUrl" value="http://localhost:8080/fsy/files/upload/" />
		<property name="uploadAttachmentUrl" value="http://wqzs.zjwq.net/saveFileFUA.action" />
		<property name="imageAttachmentUrl" value="http://wqzs.zjwq.net/uploadFileFUA.action" />
		<!--浏览器访问域名 -->
		<property name="uploadFileUrlBrowse" value="http://localhost:8080/fsy" />
	</bean>

resource->systemconfig.properties,
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值