2011-04-27 47 views
1

這是JSP,無法從數據發送到控制器的javascript

<html> 
<head> 
<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript"> 
var a=12; 
$(document).ready(function(){ 

    $("button").click(function(){ 
     alert("inside click"); 
    $.post('test.htm',{inputNumber1: $("#inputNumber1").val()},function(data){ 
     alert(data); 
     }); 
    alert("returned"); 
    }); 
}); 
</script> 
</head> 
<body> 
<input id="inputNumber1" type="text" size="5"> 
<button>print</button><br> 
</body> 
</html> 

這是控制器

package web; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.*; 
@Controller 
public class TestController { 
    @RequestMapping(value="/test.htm") 
    public @ResponseBody Integer add(@RequestParam(value="inputNumber1", required=true) Integer inputNumber1, 
      Model model) { 
     System.out.println(inputNumber1); 
     return inputNumber1; 
    } 
} 

的inputNumber1正被髮送到控制器和它被打印出來,但它沒有被髮送回javascript,即 function(data){ alert(data) };,這個函數沒有被調用,警報也是如此。

我已經除了通常的彈簧罐子包括這兩個jar文件,

  1. 傑克遜映射器-ASL-1.5.2.jar

  2. 彈簧JSON-1.3.1.jar

爲什麼不調用該函數?還有什麼我必須包括?請幫忙,我是Spring3和jquery的新手。

+0

當你發送ajax請求時你在firebug中得到了什麼迴應?也更新到最新版本jackson-mapper-asl-1.6.4.jar – Dharmesh 2011-04-27 05:52:19

+0

我沒有使用螢火蟲。當我添加jar,jackson-core-asl-1.5.5.jar時,出現錯誤,java.lang.NoClassDefFoundError:無法初始化類org.codehaus.jackson.map.ObjectMapper – elle 2011-04-27 05:58:05

+0

我建議你使用firebug ...它有助於調試...但現在硬編碼控制器中的值返回1,看看你是否得到它......也改變返回類型爲int而不是Integer – Dharmesh 2011-04-27 06:04:41

回答

0

以下罐子必須添加到classpath 1.jackson核-ASL-1.0.0.jar 2.jackson映射器-ASL-1.0.0。罐子

和下面應添加到調度器的servlet

以使註釋驅動控制器,驗證等...

0

試試這個

public class TestController { 
     @RequestMapping(value="/test.htm") 
     public @ResponseBody int add(HttpServletRequest request) { 
     int num = Integer.valueOf(request.getParameter("inputNumber1")); 
      System.out.println(num); 
      return num; 
     } 
    } 
相關問題