Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用JQuery调用java方法_Java_Jquery_Ajax_Json_Spring Mvc - Fatal编程技术网

用JQuery调用java方法

用JQuery调用java方法,java,jquery,ajax,json,spring-mvc,Java,Jquery,Ajax,Json,Spring Mvc,我开发了一个消息系统,在收件箱中,我想删除多条消息,通过一些检查选择它并调用delete方法,但我不知道我是否可以在没有表单的情况下完成。有些人告诉我,我可以使用JQuery,但我不知道怎么做 MessagesController.java @RequestMapping(value = "/mensajes/delete/{menssageId}") public String menssagesDelete(final ModelMap model, @PathVariable("m

我开发了一个消息系统,在收件箱中,我想删除多条消息,通过一些检查选择它并调用delete方法,但我不知道我是否可以在没有表单的情况下完成。有些人告诉我,我可以使用JQuery,但我不知道怎么做

MessagesController.java

@RequestMapping(value = "/mensajes/delete/{menssageId}")
    public String menssagesDelete(final ModelMap model, @PathVariable("menssageId") final Integer mensajeId,
        final HttpServletRequest request, final RedirectAttributes redirectAttrs) {

        final User user = (User) request.getSession().getAttribute(Constantes.SESSION_USER_KEY);

        final Mensajes mensaje = this.mensajesService.loadMensaje(mensajeId);

        this.mensajesService.deleteMensaje(mensaje);

        return "redirect:/menssages/home";
    }
@ResponseBody
    @RequestMapping(value = "/mensajes/deleteMensajes.json", method = RequestMethod.GET, headers = "Accept=application/json")
    public void deleteMensajes(final String[] arrayMensajes) {

    }
编辑:

现在我有这个:

MessagesController.java

@RequestMapping(value = "/mensajes/delete/{menssageId}")
    public String menssagesDelete(final ModelMap model, @PathVariable("menssageId") final Integer mensajeId,
        final HttpServletRequest request, final RedirectAttributes redirectAttrs) {

        final User user = (User) request.getSession().getAttribute(Constantes.SESSION_USER_KEY);

        final Mensajes mensaje = this.mensajesService.loadMensaje(mensajeId);

        this.mensajesService.deleteMensaje(mensaje);

        return "redirect:/menssages/home";
    }
@ResponseBody
    @RequestMapping(value = "/mensajes/deleteMensajes.json", method = RequestMethod.GET, headers = "Accept=application/json")
    public void deleteMensajes(final String[] arrayMensajes) {

    }
这是de js代码:

function eliminarMensajes(){
    var arrayMensajesSeleccionados = jQuery('[name="msgIdRecibido"]:checked').map(function () {
        return this.value;
    }).get();

    //Llamada ajax 
    $.ajax({
        type: "GET",
        url: "deleteMensajes.json",
        data:{'arrayMensajes': arrayMensajesSeleccionados},
        async: false,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(data) {
            alert("hola");
        }
    });

当进入控制器方法时,
arrayMensajes
为空,我做错了什么?

将其添加到控制器时,它会工作

public void deleteMensajes(@RequestParam(value="arrayMensajes[]", required=false) final String[] arrayMensajes)

ajax
是你的朋友。你应该看看jquery ajax@zeitgeist可以给我举个例子吗?这很有效,因为你必须在这里传递参数名。因为您是在arrayMensajes中传递它,所以应该使用它来获取值。读下去