类对象传输到jsp页面。需要转换为js的json对象时,这么做。

场景:要从一个列表中选择信息,填写入父页面的表单中,但是字段非常多。。。

后台查询,得到结果,放在列表中。

效果:点击选择产品。。

弹出页面:点击后面的选择产品

选择产品后:信息自动填充。。

实现:点击选择产品,js页面,查询具体的数据信息,弹出产品列表框来。。

// 选择产品信息
var choose_productInfo_listForm=null;
//选择保险公司
function choose_productInfo_list(patch){
    if(choose_productInfo_listForm&&choose_productInfo_listForm.open&&!choose_productInfo_listForm.closed) {
        choose_productInfo_listForm.focus();
        return false;
    }else{
        choose_productInfo_listForm = window.open(patch+'/product/productType/choose_productInfo_list.do','','status,scrollbars,resizable,left=10,top=0,width=900,height=700');
        choose_productInfo_listForm.focus();    
    }
}

选择产品列表页面:

<html xmlns="http://www.w3.org/1999/xhtml">
<jsp:useBean id="jsonObject" class="net.sf.json.JSONObject"/>
<head>
<%@include file="/common/include.jsp" %>
<script type="text/javascript" src="${pageContext.request.contextPath }/resourcesStyle/adminjs/product/productType/product_type.js"></script>
</head>
<table class="table table-bordered">
         <tr>
           <td align="center" nowrap="nowrap" bgcolor="#f1f1f1"><strong>产品编号</strong></td>
           <td align="center" nowrap="nowrap" bgcolor="#f1f1f1"><strong>产品名称</strong></td>
           <td align="center" nowrap="nowrap" bgcolor="#f1f1f1"><strong>产品类型</strong></td>
           <td align="center" nowrap="nowrap" bgcolor="#f1f1f1"><strong>资产类型</strong></td>
           <td align="center" nowrap="nowrap" bgcolor="#f1f1f1"><strong>操作</strong></td>
         </tr>
             <c:if test="${empty pageResultVo.resultList }">
                 <tr>
                     <td align="center" colspan="9">暂无数据</td>
                </tr>
             </c:if>
             <c:if test="${not empty pageResultVo.resultList }">
                <c:forEach var="bean" items="${pageResultVo.resultList}" varStatus="i">
                     <tr ${i.count%2==1?"":"bgcolor='#f2f2f2'" }>
                       <td align="center">${bean.productNo}</td>
                       <td align="center">${bean.productName}</td>
                       <td align="center"><iaf:show typeId="053" value="${bean.productTypeNew}" /></td>
                       <td align="center"><iaf:show typeId="047" value="${bean.productType}" /></td>
                       <td align="center">
                               <a href="#" onclick="postPlatformFeeInof('${bean.productNo }')">平台费用</a>
                               &nbsp;&nbsp;
                               <input type="button" value="选择产品" onclick="chooseProduct('${bean.productNo}')" />
                               <span id="span${bean.productNo}" style="display: none;">${jsonObject.fromObject(bean)}</span>
                       </td>
                     </tr>
                 </c:forEach>
             </c:if>
       </table>
       <%@include file="/common/page_plug_in.jsp" %>

点击选择产品按钮触发js:

// 弹出框选择产品
function chooseProduct(productNo){
      var productInfoStr = $("#span"+productNo).html(); // 获取字符串信息内容。
      var productInfo =  eval('(' + productInfoStr + ')');// 将字符串内容转换为js的json对象。
      $("#productNo",window.opener.document).val(productInfo.productNo);// 产品编号
      $("#productName",window.opener.document).val(productInfo.productName);// 产品名称
      $("#rateWaitDay",window.opener.document).val(productInfo.rateWaitDay);// 最长起息日延长天数
      $("#paymentMethod",window.opener.document).val(productInfo.paymentMethod); //还款方式
      $("#pMethodShow",window.opener.document).val(productInfo.paymentMethod); //还款方式
      $("#commutingWaitDay",window.opener.document).val(productInfo.commutingWaitDay);
      $("#rateType",window.opener.document).val(productInfo.rateType);//利息利率类型0日1月2年
      $("#rateTypeShow",window.opener.document).val(productInfo.rateType);//利息利率类型0日1月2年
      $("#loanPeriodFlag",window.opener.document).val(productInfo.loanPeriodFlag);// 还款周期
      $("#lFlagShow",window.opener.document).val(productInfo.loanPeriodFlag);// 还款周期
      $("#paybackDay",window.opener.document).val(productInfo.paybackDay);// 宽限天数
      $("#fineRate",window.opener.document).val(productInfo.fineRate);// 固定罚息利率
      // $("#inPolicyFlag",window.opener.document).val(productInfo.inPolicyFlag);//是否收取保费
      $("#policyCustId",window.opener.document).val(productInfo.policyCustId);//保险公司ID
      $("#policyCustName",window.opener.document).val(productInfo.policyCustName);//保险公司名称
      $("#inPolicyId",window.opener.document).val(productInfo.inPolicyId);//保费账户
      $("#inPolicyName",window.opener.document).val(productInfo.inPolicyName);//保费账户名称
      $("#outPolicyId",window.opener.document).val(productInfo.outPolicyId);//理赔账户
      $("#outPolicyName",window.opener.document).val(productInfo.outPolicyName);//理赔账户名称
      $("#bb",window.opener.document).val(productInfo.businessContracttemplate);//合同模板
      $("#bbShow",window.opener.document).val(productInfo.businessContracttemplate);//合同模板
      $("#inPolicyFlagShow",window.opener.document).val(productInfo.inPolicyFlag);//收取保费
      $("#inPolicyFlag",window.opener.document).val(productInfo.inPolicyFlag);//收取保费
      $("#pcTypeShow",window.opener.document).val(productInfo.policyCompanyType);//保险公司类型
      $("#assignmentDays",window.opener.document).val(productInfo.assignmentDays);//转让持有天数
      $("#productType",window.opener.document).val(productInfo.productType); //资产类型
      $("#productTypeName",window.opener.document).val(productInfo.productType); //资产类型名称
      $("#productTypeNew",window.opener.document).val(productInfo.productTypeNew); //产品类型
      $("#productTypeNewName",window.opener.document).val(productInfo.productTypeNew); //产品类型名称
      $("#compensateOverDay",window.opener.document).val(productInfo.compensateOverDay);//赔付延迟天数
      
      window.close();// 关闭窗口
}

 就这样大功告成。。

原文地址:https://www.cnblogs.com/a393060727/p/6490077.html