jsp中實現一個頁面調用另外一個頁面所返回的處理結果。

來源:互聯網
上載者:User

介紹:List頁面:帶有搜尋條件的頁面。
SelectList頁面:實際顯示的由List所設的搜尋條件所產生的資料結果。
由於我們的資料列表顯示採用2個部分,1:搜尋網頁面部分List頁面。2:資料頁面部分SelectList頁面。
從逆向思維的角度去列出該功能的實現過程:
1:在資料頁面(SelectList頁面)中的每一條記錄去添加一個隱藏欄位資料,為其在選擇後,讀取該隱藏欄位中的值。
例:

 

代碼

<input type="checkbox" name="key"  id="<c:out value="${vo.checkMissionId}" />" value="<c:out value="${vo.checkMissionId}" />" onClick="setCheckValue('<c:out value="${vo.checkMissionId}" />','<c:out value="${vo.checkMissionId}" />')">
<input type="hidden" id="td_<c:out value="${vo.checkMissionId}"/>" value="<c:out value="${vo.checkMissionId}"/>">

 

2:在資料頁面(SelectList頁面)中添加“獲得這些被選擇的資料”的方法。

 

代碼

function getResultInfo(){
    var flag=false;
    var values="";
    var results="";
    var name='td_';
    var checkboxs=document.getElementsByName("key");
    for(var i=0;i<checkboxs.length;i++){
        if(checkboxs[i].checked){
            flag=true;
            name=name+checkboxs[i].value;
            name=jtrim(name);
            values=document.getElementById(name).value;
            if (i>0)
            {
                results=results+','+values;
            }else {results=values;}
            
            name="td_";
          }
    }
    if(flag)
        return results;
    else
        return false;
}

 

 

3:在List頁面中添加調用擷取資料,並返回調用頁面的方法:

 

function addSelectedMission()
{
    var Results=result.window.getResultInfo();
    if(Results){
        parent.window.returnValue = Results;
        parent.window.close();
        }
    else alert('請選擇任務!');
}

 

解釋:這裡的result對象就是SelectList頁面。result.window.getResultInfo();就是調用SelectList頁面中的擷取資料的方法。
其中,這個SelectList是用Frame嵌入到List頁面的。其代碼如下:

 

代碼

  <tr>
    <td> <!-- UI Structure Begin "資訊列表滾動區" -->
      <div class="contentDiv">
        <!-- UI Structure Begin "資訊列表表格" -->
         <iframe name="result" id="result" scrolling="yes"  width="100%" height="100%" src='/techtask/missionInfo-result.do?method=missionInfoSelectList&vo.workType=<bean:write name="missionInfoForm" property="vo.workType"/>'  frameborder=0></iframe>
        <!-- UI Structure End "資訊列表表格" -->
      </div>
      <!-- UI Structure End "資訊列表滾動區" --> </td>
  </tr>

 

  4:在List頁面中添加個按鈕去觸發這個addSelectedMission()的方法。

 

  <td class="btnMain" onClick="addSelectedMission()">添加選中的企業</td>

 

  5:在調用的頁面添加方法,去調用這個List頁面。並對返回的結果進行處理

 

代碼

  function selectMission(){
      var url,ops; 
      url = "/techtask/missionInfo-result.do?method=missionInfoList&SelectType=1"; 
      ops = "dialogHeight:600px;dialogWidth:800px;center:yes;resizable:yes;status:yes;";
    var a = window.showModalDialog(url,"",ops); 
    document.getElementById("vo.checkMissionIds").value=a;//對返回的結果進行處理。
}

6:在調用的頁面中添加按鈕去觸發這個事件:

 

<td class="btnMain" onClick="selectMission()" >選擇行政任務</td>

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.