2012-07-23 46 views
0

我有一個生活在.jsp文件(yarntree.jsp)中的窗體。當用戶通過一個駐留在外部js文件(map.java)中的JavaScript函數單擊Google地圖時,該表單會填充。我想將這些數據發送到一個sql數據庫,然後讓原來的jsp頁面重新顯示,現在這個表單爲空。該代碼位於.java文件(YarnTreeServlet.java)中。映射在web.xml中JSP中的提交按鈕不會觸發Servlet中的doPost

我使用地圖API的V3,以及appengine。

的Web應用程序可以在這裏看到:

問題:提交按鈕不會導致任何發送到doPost方法。

我已經在javascript中添加了一些代碼以將值寫出到控制檯,並且這些值正確填充。我檢查了查詢,並且如果doPost正常工作,它會正確插入。我已經花了幾個小時,而且還在虧損。有一些原因讓我無法訪問表單中填充的值之後的值?我意識到servlet映射可能是問題的一部分,但我嘗試了許多變化,但都沒有成功。此時我無法確定問題是出現在js,jsp,表單,doPost還是web.xml中。任何幫助,將不勝感激。

回答

1

糾正我,如果我錯了,但我看不到<form>標記中的servlet url。

<form id="createMarkerForm" 
     method="post" 
     accept-charset="utf-8" 
     action="servletUrl"> 

和doPost未被正確覆蓋。

@Override 
public void doPost(HttpServletRequest req, 
        HttpServletResponse resp) 
         throws ServletException, IOException{  
} 
+1

並檢查servlet是否已映射到web.xml中我建議... – Franky 2012-07-23 08:32:07

+0

@Franky嗨,感謝您的回覆如此之快。我對你的回覆有兩個問題:你的意思是沒有被正確覆蓋?它不應該說@Override?還是應該有一個完全不同的方法版本?表單動作是令我困惑的事情 - servlet url與具有doPost的.java文件的名稱相同嗎?我還包括web.xml文件,希望如果是映射,有人可以幫我弄清楚應該到哪裏去。 – user1545253 2012-07-23 08:40:06

+0

我建議一個關於servlets及其映射的好教程,它可能非常有用!祝你好運。 – Franky 2012-07-23 08:48:58

0

所以,事實證明,我需要做'doGet'而不是doPost。根據我的理解,這是因爲我需要正在通過jquery處理的參數的值,即使在javascript中也是如此。

謝謝你的一切幫助。