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

How to interact between JSP and Java controller using JSON?

本文关键字:之间 控制器 交互 Java 何使用 JSON JSP      更新时间:2023-09-26

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

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));
    }
}

如何修改这段代码,使用JavaScript发送GET请求到控制器和检索JSON回答JavaScript在jsp页面上?

如果能给我一些例子,我会很感激:)或者一些教程的链接。

您可以使用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/