如何使用JSON在JSP和Java控制器之间进行交互?

时间:2014-03-28 15:36:12

标签: java javascript json rest

我正在尝试理解JSP(使用JavaScript)和使用JSON的Java控制器之间的交互原理。例如,我有一个实体

public class Greeting {
    private final long id;
    private final String content;
    // other part omitted
}

和控制器

@Controller
public class GreetingController {

    private final AtomicLong counter = new AtomicLong();

    @RequestMapping("/")
    public String redirect() {
        return "redirect:/greeting";
    }

    @RequestMapping(value = "/greeting")
    @ResponseBody
    public Greeting greeting(@RequestParam("name") String name) {
        return new Greeting(counter.incrementAndGet(), String.format("Hello, %s!", name));
    }
}

如何修改此代码以使用JavaSctipt向控制器发送GET请求并在jsp页面上通过JavaScript检索JSON答案?

我会感谢一些例子:)或某些教程的链接。

1 个答案:

答案 0 :(得分:1)

您可以使用jQuery对控制器进行ajax get调用。见https://api.jquery.com/jQuery.ajax/。您必须将输出类型指定为JSON。

例如,

$.ajax({
        type: 'GET',
        url: '<Your URL>',
        cache: false,
        dataType: 'json',
                    // Your input parameters go here
        data: {name: 'someValue'},
        success: function(data, textStatus){                                
        },
        error: function(xhr, textStatus, errorThrown){
        }
    });

以下链接说明了如何从控制器返回JSON对象: http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/