2017-05-31 4 views
1

このフォームでは、ユーザーがフィールドの特定の値を入力し、ユーザーの入力に基づいて特定のファイルのscpとftpを実行しています。このプロセスには約2〜3分かかりますので、結果ページにはその時間がかかります。コンソール出力のコンテンツを含むポップアップウィンドウを表示

私がしたいのは、ユーザがサブミットをクリックしてコンソール出力の内容をそのポップアップに表示し、完全にロードした後にのみ結果ページを表示した後にポップアップウィンドウを開くことです。コンソール出力には、ユーザが進行状況を確認するために見ることができる有用な情報があります。これにより、Webアプリケーションの応答性も向上します。

どうすればよいですか?ここで

は私のコントローラです:

@RequestMapping(value="/pmruploadform", method=RequestMethod.GET) 
public String pmrUploadForm() 
{ 
    return "uploadpage"; 
} 

@RequestMapping(value="/pmrupload", method=RequestMethod.POST) 
public String pmrUpload(@RequestParam("tool") String tool, @RequestParam("data") String data, @RequestParam("pmrid") String pmrid, @RequestParam("issue") String issue, @RequestParam("envt") String envt, @RequestParam("emailid") String emailid, ModelMap model) throws IOException 
{ 

    Pmr pmr = new Pmr(); 
    pmr.setPmrId(pmrid); 
    pmr.setTool(tool); 
    pmr.setData(data); 
    pmr.setIssue(issue); 
    pmr.setHostenv(envt); 

    String host = null; 
    List<String> hosts = new ArrayList<String>(); 
    if(pmr.getTool().equals("udeploy")) 
    { 
     switch(pmr.getHostenv()) 
     { 
      case("dev"): 
       host = udHostConfig.getDev(); 
       hosts.add(host); 
       break; 
      case("stage"): 
       hosts = udHostConfig.getStage(); 
       break; 
      case("prod"): 
       hosts = udHostConfig.getProd(); 
       break; 
     } 
    } 

    if(pmr.getTool().equals("urelease")) 
    { 
     switch(pmr.getHostenv()) 
     { 
      case("dev"): 
       host = urHostConfig.getDev(); 
       hosts.add(host); 
       break; 
      case("stage"): 
       hosts = urHostConfig.getStage(); 
       break; 
      case("prod"): 
       hosts = urHostConfig.getProd(); 
       break; 
     } 
    } 
    System.out.println(pmrBaseDir); 
    PmrUploadService.uploadService(hosts,pmrid,pmrBaseDir,emailid,tool);//This is the call that takes 2-3 mins. to execute and where the console output is printed 
    pmrRepository.insert(pmr); 

    int i,j,k; 
    char[] pmrc1=new char[5]; 
    char[] pmrc2=new char[5]; 
    char[] pmrc3=new char[5]; 

    for(i=0;i<5;i++) 
     pmrc1[i]=pmrid.charAt(i); 
    i++; 
    for(j=0;i<9;i++,j++) 
     pmrc2[j]=pmrid.charAt(i); 
    i++; 
    for(k=0;i<13;i++,k++) 
     pmrc3[k]=pmrid.charAt(i); 

    String pmr1=new String(pmrc1); 
    String pmr2=new String(pmrc2); 
    String pmr3=new String(pmrc3); 

    model.addAttribute("pmrlink",pmrlink); 
    model.addAttribute("tool", tool); 
    model.addAttribute("data", data); 
    model.addAttribute("pmrid", pmrid); 
    model.addAttribute("issue", issue); 
    return "resultpage"; 

} 

はここuploadpageのJSPさ:

<div id="page-wrapper"> 
 
       <div class="row"> 
 
        <div class="col-lg-12"> 
 
         <h1 class="page-header">Result</h1> 
 
        </div> 
 
        <!-- /.col-lg-12 --> 
 
       </div> 
 
       <!-- /.row --> 
 
       <div class="row"> 
 
        <div class="col-lg-12"> 
 
        \t <p>Success! File Uploaded Successfully</p> 
 
        \t <p>Tool: ${tool}</p>      
 
\t \t \t \t \t  <p>Data: ${data}</p> 
 
\t \t \t \t \t  <p>PMR id: ${pmrid}</p> 
 
\t \t \t \t \t  <p>Issue: ${issue}</p> 
 
\t \t \t \t \t  <!-- /.panel --> 
 
        \t <a href="${pmrlink}">Click here to see uploaded PMR</a> 
 
        \t 
 
        </div> 
 
        <!-- /.col-lg-12 --> 
 
       </div> 
 
       <!-- /.row --> 
 
      </div>

<div id="page-wrapper"> 
 
       <div class="row"> 
 
        <div class="col-lg-12"> 
 
         <h1 class="page-header">Upload Data</h1> 
 
        </div> 
 
        <!-- /.col-lg-12 --> 
 
       </div> 
 
       <!-- /.row --> 
 
       <div class="row"> 
 
        <div class="col-lg-12"> 
 
         <div class="panel panel-default"> 
 
          <div class="panel-heading"> 
 
           Enter File Details 
 
          </div> 
 
          <div class="panel-body"> 
 
           <div class="row"> 
 
            <div class="col-lg-12"> 
 
             <form role="form" action="pmrupload.html" method="POST" name="myForm"> 
 
              <div class="form-group"> 
 
               <label>Enter PMR Number</label> 
 
               <input class="form-control" name="pmrid"> 
 
               <p class="help-block">Format = XXXXX.YYY.ZZZ</p> 
 
              </div> 
 
              <div class="form-group"> 
 
               <label>Select Tool</label> 
 
               <div class="checkbox"> 
 
                <label> 
 
                 <input type="checkbox" name="tool" value="udeploy">uDeploy 
 
                </label> 
 
               </div> 
 
               <div class="checkbox"> 
 
                <label> 
 
                 <input type="checkbox" name="tool" value="urelease">uRelease 
 
                </label> 
 
               </div> 
 
              </div> 
 
              <div class="form-group"> 
 
               <label>Select Data</label> 
 
               <div class="checkbox"> 
 
                <label> 
 
                 <input type="checkbox" name="data" value="log">Logs 
 
                </label> 
 
                
 
               </div> 
 
               <div class="checkbox"> 
 
                <label> 
 
                 <input type="checkbox" name="data" value="thread dump">Thread dump 
 
                </label> 
 
               </div> 
 
               <div class="checkbox"> 
 
                <label> 
 
                 <input type="checkbox" name="data" value="diagnostics">Diagnostics 
 
                </label> 
 
               </div> 
 
              </div> 
 
              <div class="form-group"> 
 
               <label>Select Environment</label> 
 
               <div class="checkbox"> 
 
                <label> 
 
                 <input type="checkbox" name="envt" value="dev">Dev 
 
                </label> 
 
               </div> 
 
               <div class="checkbox"> 
 
                <label> 
 
                 <input type="checkbox" name="envt" value="stage">Stage 
 
                </label> 
 
               </div> 
 
               <div class="checkbox"> 
 
                <label> 
 
                 <input type="checkbox" name="envt" value="prod">Prod 
 
                </label> 
 
               </div> 
 
              </div> 
 
              <div class="form-group"> 
 
              \t <label>Enter Email ID</label> 
 
               <input class="form-control" name="emailid"> 
 
              </div> 
 
              <div class="form-group"> 
 
               <label>Issue</label> 
 
               <input class="form-control" name="issue"> 
 
              </div> 
 
              <button type="submit" class="btn btn-default">Submit</button> 
 
             </form> 
 
            </div> 
 
           </div> 
 
           <!-- /.row (nested) --> 
 
          </div> 
 
          <!-- /.panel-body --> 
 
         </div> 
 
         <!-- /.panel --> 
 
        </div> 
 
        <!-- /.col-lg-12 --> 
 
       </div> 
 
       <!-- /.row --> 
 
      </div>

ここでは、結果のjspであります

答えて

0

はちょうどこのコード試してみてください。私は、ブラウザのコンソールに書きたくない

var output ='here is the output that you got'; 
onload = function myFunction() { 
    var myform = window.open("", "MsgWindow", "width=400,height=300"); 
    var div = document.createElement('div'); 
    div.innerHTML = "<h1>Title</h1><div>this is a content from "+output+"</div>"; 
    myform.document.body.append(div); 
} 
+0

を、私はポップアップウィンドウでJavaの出力を表示します。また、ページがロードされた後に関数を呼び出すと、目的はありません。結果ページが読み込まれている間に、ポップアップを並行して表示します。 –

+0

更新されたコードを試してください! – HTCom

+0

このコードは、ページがロードされた後にポップアップを表示します。ページがロードされている間にポップアップを表示します。 –

関連する問題