2017-05-24 88 views
0

我正面臨着通過自定義Jquery確認框將值傳遞給servlet的困難時刻。

谷歌搜索,發現我們可以使用$post將數據傳遞給servlet,但不知何故數據沒有傳遞給servlet。

我的要求是我需要提供兩個選項給用戶opensave的pdf文件。我用這些選項使用自定義的Jquery框,但數據沒有傳遞給servlet。

請幫幫忙,下面是我的代碼:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.2/themes/redmond/jquery-ui.css"> 
<script src="https://code.jquery.com/jquery-1.11.2.js"></script> 
<script src="https://code.jquery.com/ui/1.11.2/jquery-ui.js"></script> 
<!-- User Defined Js file --> 
<script type="text/javascript"> 

$(document).ready(function(){ 
      $('#Export').click(function(event) { 
      event.preventDefault(); 
     var currentForm = $(this).closest('form'); 

     var dynamicDialog = $('<div id="conformBox">'+ 
     '<span style="float:left; margin:0 7px 20px 0;">'+ 
     '</span>Open or save the document</div>'); 

     dynamicDialog.dialog({ 
       title : "Open/Save Dialog", 
       closeOnEscape: true, 
       modal : true, 

       buttons : 
         [{ 
           text : "Export", 
           click : function() { 
                     $(this).dialog("close"); 
$.POST({ 
       type: "post", 
       url: "button", 
       data: $('#Export').attr("name"), 
        success: function(data) { 
        $('#results').show(); 
        $('#results').html(data); 
       } 
      }); 
      // currentForm.submit(); // if I use this then control going to servlet but data is not passed without nothing was happening 



           } 
         }, 
         { 
           text : "Open", 
           click : function() { 
             $(this).dialog("close"); 
             currentForm.submit(); 
           } 
         }] 
     }); 
     return false; 
    }); 

}); 

</script> 
</head> 
<body> 
    <form id="god" action="button"> 
     <button type="button" id="Export">Export</button> 
    </form> 
    <div id="results"></div> 
</body> 
</html> 

servlet代碼:

package com.testcase.testing; 

import java.io.IOException; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

/** 
* Servlet implementation class button 
*/ 
@WebServlet("/button") 
public class button extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public button() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 

    /** 
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     doPost(request, response); 
     } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 

     response.getWriter().append(request.getParameter("data")); 
     System.out.println(request.getParameter("data")); 


    } 

} 

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <display-name>Testcase</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 

<!-- <servlet> 
    <servlet-name>button</servlet-name> 
    <servlet-class>com.testcase.testing.button</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>button</servlet-name> 
    <url-pattern>/Buttonpage.jsp</url-pattern> 
</servlet-mapping> --> 

</web-app> 

無法追查我做錯了

+0

爲什麼不使用input =「file」打開/保存pdf文件? – Keith

+0

@Keith感謝您的回覆..您能否請教我更多關於'input = file'部分 – Siva

回答

1

這是如何使用$ .p發送數據ost

var param = "value"; 
$.post('query.php', { param: param }, function(data) { 
    //do what you want with returned data 
}) 
+0

感謝您的回答......只是想將'value'傳遞給servlet我應該在'Function(data)'中寫什麼 – Siva

+0

在你處理返回數據的函數數據中,就像你的例子 - $('#results')。show(); $( '#結果')HTML(數據); –

+0

好吧,讓我試試,並在這裏更新 – Siva