从没有jquery的html按钮onclick事件调用Spring mvc控制器的post方法

时间:2016-05-17 06:04:34

标签: html spring-mvc

我正在尝试使用按钮(不一定是为了提交的目的)和onclick我想调用spring mvc的控制器方法,其requestmethod类型应该是POST而不是GET。

<input type="button" onClick="location.href='/result'"/>

这是我的控制器方法,在点击时被调用。

@RequestMapping(value="/result")
public ModelAndView postPrintHello(@ModelAttribute("product") Product product){
    ModelAndView model = new ModelAndView();
    model.addObject("product", product);
    model.setViewName("result");
    return model;
}

但是当我添加RequestMethod.POST时,它不会被调用。 请建议我这方面的出路,如果我错过了前方的观点,请告诉我。

3 个答案:

答案 0 :(得分:4)

试试这个

HTML:

<input type='button' value='Submit'>

JS:

$('input').on('click', function () {

   $.ajax({
   type:'POST',
   url :"result",
   success: function(data) {
        console.log('success',data);
   },
   error:function(exception){alert('Exeption:'+exception);}
}); 
 e.preventDefault();
});

没有JS或JQuery

<input type="button"  onclick="location.href='/result'" value="Submit" >

注意:通过这种方式您只能发送GET请求,您的控制器应该有此注释method = RequestMethod.GET

如果你想要没有Jquery的POST请求,请使用Form

<form action="/result" method="post">
        <input type="submit" value="Submit" />
</form>

答案 1 :(得分:0)

使按钮类型提交或调用javascript方法和 提交表格如 document.forms [&#34; myForm的&#34]。提交();

答案 2 :(得分:0)

首先在表单标记中,您需要进行一些更改

    <form action="/servlet" method="post">
        <input type="submit" name="login" />
    </form>

它会调用你的doPost()方法