用JQuery调用java方法

时间:2014-07-09 09:57:48

标签: java jquery ajax json spring-mvc

我开发了一个消息系统,并且在收件箱中我想要删除多条消息,通过一些检查选择它并调用删除方法,但我不知道我是否可以通过表单来完成它。有些人告诉我,我可以使用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";
    }

编辑:

现在我有了这个:

MessagesController.java

@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为空我做错了什么?

1 个答案:

答案 0 :(得分:0)

将其添加到控制器

时可以使用
public void deleteMensajes(@RequestParam(value="arrayMensajes[]", required=false) final String[] arrayMensajes)