多层迭代,List 中嵌套bean应如何写?

本文探讨了在JSP中使用多层迭代处理List中嵌套Bean的问题,并给出了具体的代码示例。作者遇到了关于获取Bean属性的异常,寻求正确的迭代方式。

jsp:

 <logic:present name="saleOppForm" property="lstRummeryQuote" scope="request">
   <logic:iterate id="rummeryQuote" name="saleOppForm" property="lstRummeryQuote" indexId="rowIndex">
    <tr>
       <logic:iterate id="column" name="rummeryQuote" property="rowRummeryQuote" indexId="columnIndex">
             <td width="98" valign="top" class="whitetd"><html:text property="useRoomCount" size="10"></html:text></td>
             <td width="98" valign="top" class="whitetd"><html:text property="sumRoomPrice" size="10"></html:text></td>
    <td width="91" id="tdFunction0" class="whitetd">
     <!-- <input type='button' onClick='deleteRow(0)' id="btnDelRow000" class='btnDel'> -->
     <html:button onclick="createRow()" property="btnCreateRow" styleClass="btnCreate">
     </html:button>
    </td>
      </logic:iterate>
    </tr>
  </logic:iterate>
 </logic:present> 

SaleOppForm;

 private List lstRummeryQuote;
 public SaleOppForm() { 
  lstRummeryQuote  =  new  ArrayList(); 
        //页面初始显示一行
  lstRummeryQuote.add(rowRummeryQuote);
  //lstRummeryQuote.add(new  RowRummeryQuote());
 }

RowRummeryQuote(dataset):


 private String useRoomCount;
 private String sumRoomPrice;

异常:javax.servlet.ServletException: No getter method for property rowRummeryQuote of bean rummeryQuote

多层迭代,List 中嵌套bean,这样迭代不对吗?应如何写呢?请高手指教

private static void basicCompanyCompare(List<EtbChangeBasicBusinessInfoEntity> basicList, Map<String, List<EtbChangeHistoryInfoEntity>> collectHistoryMap, String orderCode, Integer version, List<EtbChangeCompareResultEntity> insertCompareList) { if (CollectionUtils.isNotEmpty(basicList)) { //企业基本信息的新数据 EtbChangeBasicBusinessInfoEntity basicNew = basicList.get(0); //企业基本信息的老数据 List<EtbChangeHistoryInfoEntity> historyBasicList = collectHistoryMap.get(ETB_BASIC_BUSINESS_INFORMATION); if (CollectionUtils.isNotEmpty(historyBasicList)) { //存在老数据,逐个比对 List<EtbChangeBasicBusinessInfoEntity> businessInfoEntities = BeanUtil.toListObj(historyBasicList.get(0).getBusinessData(), EtbChangeBasicBusinessInfoEntity.class); EtbChangeBasicBusinessInfoEntity basicHi = businessInfoEntities.get(0);//老数据取值 //找出值不同的字段 List<String> diffFields = diffToSet(basicNew, basicHi); if (CollectionUtils.isNotEmpty(diffFields)) { //1.新数据选择的字段值和老数据有变化,将有变化的小类标记为未已改动,没有变化的小类标记为未改动,并插入数据库 buildAndCompareEntity(BASIC_BUSINESS_LEGAL_FIELDS, ETB_BASIC_BUSINESS_LEGAL, diffFields, orderCode, version, insertCompareList); buildAndCompareEntity(BASIC_BUSINESS_CORP_FIELDS, ETB_BASIC_BUSINESS_CORP, diffFields, orderCode, version, insertCompareList); buildAndCompareEntity(BASIC_BUSINESS_REG_FIELDS, ETB_BASIC_BUSINESS_REG, diffFields, orderCode, version, insertCompareList); buildAndCompareEntity(BASIC_BUSINESS_MIT_FIELDS, ETB_BASIC_BUSINESS_MIT, diffFields, orderCode, version, insertCompareList); } else { //2.新数据选择的所有字段值和老数据一样,将新数据选择的小类全部标记为未改动,并插入数据库 List<String> nonNullFields = nonNullToSet(basicNew);//有值的字段 if (CollectionUtils.isNotEmpty(nonNullFields)) { buildNonNullCompareEntity(CHANGE_NO, BASIC_BUSINESS_LEGAL_FIELDS, ETB_BASIC_BUSINESS_LEGAL, nonNullFields, orderCode, version, insertCompareList); buildNonNullCompareEntity(CHANGE_NO, BASIC_BUSINESS_CORP_FIELDS, ETB_BASIC_BUSINESS_CORP, nonNullFields, orderCode, version, insertCompareList); buildNonNullCompareEntity(CHANGE_NO, BASIC_BUSINESS_REG_FIELDS, ETB_BASIC_BUSINESS_REG, nonNullFields, orderCode, version, insertCompareList); buildNonNullCompareEntity(CHANGE_NO, BASIC_BUSINESS_MIT_FIELDS, ETB_BASIC_BUSINESS_MIT, nonNullFields, orderCode, version, insertCompareList); } } } else { //3.不存在老数据,将新数据选择的小类全部标记为已改动,并插入数据库 List<String> nonNullFields = nonNullToSet(basicNew);//有值的字段 if (CollectionUtils.isNotEmpty(nonNullFields)) { buildNonNullCompareEntity(CHANGE_YES, BASIC_BUSINESS_LEGAL_FIELDS, ETB_BASIC_BUSINESS_LEGAL, nonNullFields, orderCode, version, insertCompareList); buildNonNullCompareEntity(CHANGE_YES, BASIC_BUSINESS_CORP_FIELDS, ETB_BASIC_BUSINESS_CORP, nonNullFields, orderCode, version, insertCompareList); buildNonNullCompareEntity(CHANGE_YES, BASIC_BUSINESS_REG_FIELDS, ETB_BASIC_BUSINESS_REG, nonNullFields, orderCode, version, insertCompareList); buildNonNullCompareEntity(CHANGE_YES, BASIC_BUSINESS_MIT_FIELDS, ETB_BASIC_BUSINESS_MIT, nonNullFields, orderCode, version, insertCompareList); } } } }
最新发布
12-05
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值