无法将数据从控制器发送到javascript

时间:2011-04-27 05:46:27

标签: jquery spring-mvc

这是jsp,

<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

  3. 为什么不调用该函数?还有什么我必须包括的东西吗?请帮助,我是spring3和jquery的新手。

2 个答案:

答案 0 :(得分: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;
        }
    }

答案 1 :(得分:0)

必须将以下jar添加到类路径中 1.jackson核-ASL-1.0.0.jar 2.jackson映射器-ASL-1.0.0.jar

并且应将以下内容添加到调度程序servlet中

启用注释驱动控制器,验证等......