zoukankan      html  css  js  c++  java
  • jsp中实现一个页面调用另外一个页面所返回的处理结果。

    介绍: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>
  • 相关阅读:
    [kuangbin带你飞]专题十六 KMP & 扩展KMP & ManacherK
    [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher J
    [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher I
    pat 1065 A+B and C (64bit)(20 分)(大数, Java)
    pat 1069 The Black Hole of Numbers(20 分)
    pat 1077 Kuchiguse(20 分) (字典树)
    pat 1084 Broken Keyboard(20 分)
    pat 1092 To Buy or Not to Buy(20 分)
    pat 1046 Shortest Distance(20 分) (线段树)
    pat 1042 Shuffling Machine(20 分)
  • 原文地址:https://www.cnblogs.com/kfarvid/p/1620478.html
Copyright © 2011-2022 走看看