jsp页面动态生成页面源代码

9 篇文章 0 订阅
5 篇文章 0 订阅
<%@page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<%
		String basePath = request.getContextPath();
		%>
		<title>支付渠道选择页面</title>
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
		<link rel="stylesheet" href="<%=basePath%>/css/func.css"
			type="text/css" charset="utf-8" />
		<link rel="stylesheet" href="<%=basePath%>/css/func.cache.css"
			type="text/css" charset="utf-8" />
<SCRIPT type="text/javascript" src="<%=basePath%>/js/jquery-1.6.4.min.js"></SCRIPT>
		<script type="text/javascript" language="javascript">
		var arr = new Array();//存储所选择的payCode
	function payChannelOK(){
			var theArrSize =  arr.length;
			var submitArr = new Array();
			if(theArrSize > 0){
				for(var j=0;j < theArrSize;j++){
				var putObj = new Object();
						if(checkIsNull(arr[j].payCode)){
						return;
						}
						putObj.payCode = arr[j].payCode;//支付渠道Code
						putObj.payChannelId = $('#payChannelId'+arr[j].payCode).val();
						putObj.payChannelName = $('#payChannelName'+arr[j].payCode).val();
						putObj.payChannelPartnerId = $('#payChannelPartnerId'+arr[j].payCode).val();
						putObj.payChannelPartnerKey = $('#payChannelPartnerKey'+arr[j].payCode).val();
						putObj.ext1 = $('#ext1'+arr[j].payCode).val();
						putObj.payType = $('#payType'+arr[j].payCode).val();
						putObj.ifLedger = $('#ifLedger'+arr[j].payCode).val();//是否支持分账
						putObj.proxyServiceType =  $('#proxyServiceType'+arr[j].payCode).val();//代收类型
						putObj.isNeedLedger = $('#isNeedLedger'+arr[j].payCode).val();
						if($('#isNeedLedger'+arr[j].payCode).val() == 'true'){//是否分账
							if(!$('#ledgerList'+arr[j].payCode).val()){
								alert("请设置分账规则");
								return;
							}else{
								putObj.ledgerList= $('#ledgerList'+arr[j].payCode).val();//分账规则列表
							}
						}
						submitArr.push(putObj);
				}
				window.returnValue =  submitArr;//Object.toJSON(submitArr);
     			window.close();
			}else{
				alert("请选择一种支付方式");
			}
		}
			
	function payChannelCancel(){
	window.close();
	}
	
	function checkIsNull(payCode){
		if($('#proxyServiceType'+payCode).val() == 'N'){
		if(payCode == 'alipay_W'){
			if(isNull($('#ext1'+payCode).val())){
			alert($('#payChannelName'+payCode).val()+"的合作者身份ID(邮箱)不能为空");
			return true;
			}
			
			var mailregx=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			var new_email=$('#ext1'+payCode).val();
			if (new_email !="" && !mailregx.test(new_email)) {
              alert($('#payChannelName'+payCode).val()+"合作者身份ID(邮箱)格式不正确");
              return true;
         	}
			
			
		}else if(payCode == 'kuaiqian_W'){
			if(isNull($('#payChannelPartnerId'+payCode).val())){
			alert($('#payChannelName'+payCode).val()+"的神州行账号不能为空");
			return true;
			}
			if(isNull($('#payChannelPartnerKey'+payCode).val())){
			alert($('#payChannelName'+payCode).val()+"的商户(RSA)私钥不能为空");
			return true;
			}
		}else if(payCode == 'alipay_T'){
			if(isNull($('#payChannelPartnerId'+payCode).val())){
			alert($('#payChannelName'+payCode).val()+"的合作者身份ID不能为空");
			return true;
			}
			var payidlength = /^2088[0-9]{12}$/;
			if($('#payChannelPartnerId'+payCode).val().length != 16 ||!payidlength.test($('#payChannelPartnerId'+payCode).val()) ){
			alert($('#payChannelName'+payCode).val()+"的合作者身份ID不符合规范");
			return true;
			}
		}else{
		    if(isNull($('#payChannelPartnerId'+payCode).val())){
			alert($('#payChannelName'+payCode).val()+"的商户编号不能为空");
			return true;
			}
			if(isNull($('#payChannelPartnerKey'+payCode).val())){
			alert($('#payChannelName'+payCode).val()+"的商户密钥不能为空");
			return true;
			}
		}
		}
		return false;
}
			
function payChannelIdClick(payCode,thisValue){
			  var obj = new Object();
		      var pushFlag = false;
		      var theArrLength = arr.length;
		      
		      var tempObj = new Object();
		     obj.payCode = payCode;
		        //去除重复选择时,重复保存
		      for(var i = 0;i<theArrLength;i++){
		            tempObj = arr.pop();
		              if(tempObj.payCode == obj.payCode) {
		              	if(thisValue == true){
		              		arr.unshift(obj);//始终保存最新选中的
		              		}
		                    pushFlag = true;
		              }else{
		                 arr.unshift(tempObj);
		              }
		          }
		          //如果没有插入则插入新数据
		          if(!pushFlag) {
		               arr.push(obj);
		          }
			}
			//是否分账
			function isNeedLedgerClick(thisId,thisValue){
				if(thisValue == false){
				 $('#ledgerSelectTD'+thisId).hide();
				 document.getElementById('isNeedLedger'+thisId).value = "false";
				}else{
				 $('#ledgerSelectTD'+thisId).show();
				 document.getElementById('isNeedLedger'+thisId).value = "true";
				}
			}
			//非空验证
             function isNull(o) {
                  if (null == o || "" == o || o.replace(/^\s*$/, "") == "") {
                        return true ;
                   } else {
                        return false ;
                   }
            }
			//选择分账列表
			function selectLedgerList(payCode){
				var url = "<%=basePath%>/common/PayChannelAction!showLedgerMain.action?useType="+$('#proxyServiceType'+payCode).val();;
	        	var ledgerResult = window.showModalDialog(url,window,"dialogWidth=650px;dialogHeight=500px;");
	        	if(ledgerResult){
	        		document.getElementById('ledgerList'+payCode).value = ledgerResult;
	        	}
			}
			
			function displayProxy(payCode,thisValue){
			if(thisValue != 'N'){
				if(payCode == 'alipay_W' ||payCode =='alipay_T'){
				$('#ext1TH'+payCode).hide();
				$('#ext1TD'+payCode).hide();
				}else{
				$('#payChannelPartnerIdTH'+payCode).hide();
				$('#payChannelPartnerKeyTH'+payCode).hide();
				$('#payChannelPartnerIdTD'+payCode).hide();
				$('#payChannelPartnerKeyTD'+payCode).hide();
				}
			}else{
				if(payCode == 'alipay_W' || payCode =='alipay_T'){
				$('#ext1TH'+payCode).show();
				$('#ext1TD'+payCode).show();
				}else{
				$('#payChannelPartnerIdTH'+payCode).show();
				$('#payChannelPartnerKeyTH'+payCode).show();
				$('#payChannelPartnerIdTD'+payCode).show();
				$('#payChannelPartnerKeyTD'+payCode).show();
				}
			}
			}
		</script>
	</head>

	<body>
		<h2 align="center">
			支付渠道选择页面
		</h2>
		<br />
		<table class="condition">
		<caption>网站支付渠道</caption>
			<s:iterator value="payChannelWList">
				<tr>
					<th>
						<s:checkbox id="payChannelIdc%{payCode}" value="false"
							name="payChannelIdB"
							οnclick="payChannelIdClick('%{payCode}',this.checked);"></s:checkbox>
						<s:hidden id="payChannelId%{payCode}" value="%{payChannelId}"></s:hidden>
						<s:hidden id="payChannelName%{payCode}" value="%{payChannelName}"></s:hidden>
						<s:hidden id="payType%{payCode}" value="%{payType}"></s:hidden>
						<s:hidden id="ifLedger%{payCode}" value="%{ifLedger}"></s:hidden>
					</th>
					<td>
						<s:property value="payChannelName"></s:property>
					</td>
					<th>
						<s:label>代收类型:</s:label>
					</th>
					<td>
						<s:if test='useType == "B"'>
							<s:select id="proxyServiceType%{payCode}"
								list="#{'N':'不代收','R':'瑞德代收'}"
								οnchange="displayProxy('%{payCode}',this.value);"></s:select>
						</s:if>
						<s:else>
							<s:select id="proxyServiceType%{payCode}"
								list="#{'N':'不代收','B':'业务平台代收','R':'瑞德代收'}"
								οnchange="displayProxy('%{payCode}',this.value);"></s:select>
						</s:else>
					</td>

					<!-- 支付宝网站充值 -->
					<s:if test='payCode == "alipay_W"'>
						<th id="ext1TH<s:property value='payCode'/>">
							<s:label>合作者身份ID(邮箱):</s:label>
						</th>
						<td id="ext1TD<s:property value='payCode'/>">
							<s:textfield id="ext1%{payCode}" name="ext1"></s:textfield>
						</td>
					</s:if>
					<!-- 快钱网站 -->
					<s:elseif test='payCode == "kuaiqian_W"'>
						<th id="payChannelPartnerIdTH<s:property value='payCode'/>">
							<s:label>神州行账号:</s:label>
						</th>
						<td id="payChannelPartnerIdTD<s:property value='payCode'/>">
							<s:textfield id="payChannelPartnerId%{payCode}"
								name="payChannelPartnerId"></s:textfield>
						</td>

						<th id="payChannelPartnerKeyTH<s:property value='payCode'/>">
							<s:label>商户(RSA)私钥:</s:label>
						</th>
						<td id="payChannelPartnerKeyTD<s:property value='payCode'/>">
							<s:textfield id="payChannelPartnerKey%{payCode}"
								name="payChannelPartnerKey"></s:textfield>
						</td>
					</s:elseif>

					<s:else>
						<th id="payChannelPartnerIdTH<s:property value='payCode'/>">
							<s:label>商户编号:</s:label>
						</th>
						<td id="payChannelPartnerIdTD<s:property value='payCode'/>">
							<s:textfield id="payChannelPartnerId%{payCode}"
								name="payChannelPartnerId"></s:textfield>
						</td>

						<th id="payChannelPartnerKeyTH<s:property value='payCode'/>">
							<s:label>商户密钥:</s:label>
						</th>
						<td id="payChannelPartnerKeyTD<s:property value='payCode'/>">
							<s:textfield id="payChannelPartnerKey%{payCode}"
								name="payChannelPartnerKey"></s:textfield>
						</td>
					</s:else>

					<s:if test='ifLedger == "Y"'>
						<th>
							<s:checkbox id="isNeedLedger%{payCode}" value="true"
								name="isNeedLedger"
								οnclick="isNeedLedgerClick('%{payCode}',this.checked);"></s:checkbox>
						</th>
						<td>
							<s:label>是否分账</s:label>
						</td>
						<td id="ledgerSelectTD<s:property value='payCode'/>"
							style="display:block;">
							<input type="button"
								οnclick="selectLedgerList('<s:property value='payCode'/>');"
								value="选择分账规则" />
							<s:hidden id="ledgerList%{payCode}" name="ledgerListDoc"></s:hidden>
						</td>
					</s:if>
				</tr>
			</s:iterator>
		</table>
		<br />
		<table class="condition">
			<caption>终端支付渠道</caption>
			<s:iterator value="payChannelCList">
				<tr>
					<th>
						<s:checkbox id="payChannelIdc%{payCode}" value="false"
							name="payChannelIdc"
							οnclick="payChannelIdClick('%{payCode}',this.checked);"></s:checkbox>
					</th>
					<td>
						<s:property value="payChannelName"></s:property>
					</td>
					<th>
						<s:label>代收类型:</s:label>
						<s:hidden id="payChannelId%{payCode}" value="%{payChannelId}"></s:hidden>
						<s:hidden id="payChannelName%{payCode}" value="%{payChannelName}"></s:hidden>
						<s:hidden id="payType%{payCode}" value="%{payType}"></s:hidden>
						<s:hidden id="ifLedger%{payCode}" value="%{ifLedger}"></s:hidden>
					</th>
					<td>
						<s:if test='useType == "B"'>
							<s:select id="proxyServiceType%{payCode}"
								list="#{'N':'不代收','R':'瑞德代收'}"
								οnchange="displayProxy('%{payCode}',this.value);"></s:select>
						</s:if>
						<s:else>
							<s:select id="proxyServiceType%{payCode}"
								list="#{'N':'不代收','B':'业务平台代收','R':'瑞德代收'}"
								οnchange="displayProxy('%{payCode}',this.value);"></s:select>
						</s:else>
					</td>
					<!-- 支付宝手机客户端充值 -->
					<s:if test='payCode == "alipay_T"'>
						<th id="ext1TH<s:property value='payCode'/>">
							<s:label>合作者身份ID:</s:label>
						</th>
						<td id="ext1TD<s:property value='payCode'/>">
							<s:textfield id="payChannelPartnerId%{payCode}"
								name="payChannelPartnerId"></s:textfield>
							<s:label>提示:以2088开头的16位纯数字</s:label>
						</td>
					</s:if>

					<s:else>
						<th id="payChannelPartnerIdTH<s:property value='payCode'/>">
							<s:label>商户编号:</s:label>
						</th>
						<td id="payChannelPartnerIdTD<s:property value='payCode'/>">
							<s:textfield id="payChannelPartnerId%{payCode}"
								name="payChannelPartnerId"></s:textfield>
						</td>

						<th id="payChannelPartnerKeyTH<s:property value='payCode'/>">
							<s:label>商户密钥:</s:label>
						</th>
						<td id="payChannelPartnerKeyTD<s:property value='payCode'/>">
							<s:textfield id="payChannelPartnerKey%{payCode}"
								name="payChannelPartnerKey"></s:textfield>
						</td>
					</s:else>

					<s:if test='ifLedger == "Y"'>
						<th>
							<s:checkbox id="isNeedLedger%{payCode}" value="true"
								name="isNeedLedger"
								οnclick="isNeedLedgerClick('%{payCode}',this.checked);"></s:checkbox>
						</th>
						<td>
							<s:label>是否分账</s:label>
						</td>
						<td id="ledgerSelectTD<s:property value='payCode'/>"
							style="display:block;">
							<input type="button"
								οnclick="selectLedgerList('<s:property value='payCode'/>');"
								value="选择分账规则" />
							<s:hidden id="ledgerList%{payCode}" name="ledgerListDoc"></s:hidden>
						</td>
					</s:if>
				</tr>
			</s:iterator>
		</table>
		<div align="center">
			<button οnclick="payChannelOK()" value="确定">
				确定
			</button>
			<button οnclick="payChannelCancel()" value="取消">
				取消
			</button>
		</div>
	</body>
</html>


 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSP下载文件说明包括两部分内容,一部分是JSP基础知识;另一部分是综合实例。读者可根据相应的使用说明直接使用这些源代码。 一、基础知识部分 此部分是指文件夹名为第1~9章中的内容(如表1),这些是书中介绍JSP相关知识的源代码。文件的命名规则与书中相应源代码文件名一致。读者可将相关文件夹(如ch2)拷贝到Tomcat服务器安装目录的子目录webapps下,并启动Tomcat服务器,在浏览器中浏览网页。 表1 第1章 序号 文件名称 位置 说明 1 SimpleJSP.jsp 第1章\ch1 第一个JSP页面 2 web.xml 第1章\ch1\WEB-INF 第1章程序应用的描述文件 表2 第2章 序号 文件名称 位置 说明 1 sample1.html 第2章\ch2 第一个HTML网页 2 sample2.html 第2章\ch2 设置HTML网页标题示例 3 sample3.html 第2章\ch2 设置HTML网页字体示例 4 sample4.html 第2章\ch2 设置HTML网页其他字体示例 5 sample5.html 第2章\ch2 换行与不换行标记示例 6 sample6.html 第2章\ch2 对齐标记示例 7 sample7.html 第2章\ch2 创建表格示例 8 sample8.html 第2章\ch2 设计表单示例 9 sample9.html 第2章\ch2 图象标记示例 10 sample10.html 第2章\ch2 链接标记示例 11 sample11.html 第2章\ch2 简单的JavaScript示例 12 sample12.html 第2章\ch2 介绍String对象示例 13 sample13.html 第2章\ch2 介绍Date对象示例 14 sample14.html 第2章\ch2 介绍Math对象示例 15 sample15.html 第2章\ch2 介绍Windows对象示例 续表 序号 文件名称 位置 说明 16 sample16.html 第2章\ch2 介绍鼠标事件示例 17 sample17.html 第2章\ch2 介绍键盘事件示例 18 sample18.html 第2章\ch2 介绍焦点事件示例 19 sample19.html 第2章\ch2 介绍调整窗口尺寸事件示例 20 sample17.html 第2章\ch2 介绍加载和卸载事件示例 21 02_1.jpg 第2章\ch2\image sample9.html中使用的图片文件 22 web.xml 第2章\ch2\WEB-INF 第2章程序应用的描述文件 23 register.html 第2章\ch2 习题答案,用户注册页面 表3 第3章 序号 文件名称 位置 说明 1 Add.java 第3章\ch3 习题答案(编程题第1题) 2 Add.class 第3章\ch3 习题答案(编程题第1题) 3 Fibonacci.java 第3章\ch3 习题答案(编程题第2题) 4 Fibonacci.class 第3章\ch3 习题答案(编程题第2题) 5 Cylinder.java 第3章\ch3 习题答案(编程题第3题) 6 Cylinder.class 第3章\ch3 习题答案(编程题第3题) 表4 第4章 序号 文件名称 位置 说明 1 example.jsp 第4章\ch4 一个典型的JSP页面 2 head.jsp 第4章\ch4 include指令示例(显示标题和页头) 3 body.jsp 第4章\ch4 include指令示例(显示页体) 4 tail.jsp 第4章\ch4 include指令示例(显示页尾) 5 include.jsp 第4章\ch4 利用include指令包含上述3个JSP页面 6 example1.jsp 第4章\ch4 Scriptlet示例 7 div.jsp 第4章\ch4 处理客户请求阶段的错误示例 8 error.jsp 第4章\ch4 div.jsp页面的错误处理页面 9 web.xml 第4章\ch4\WEB-INF 第4章程序应用的描述文

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值