java - 为什么 Spring MVC 4 提交按钮不触发 post 方法

标签 java spring spring-mvc

这是我的 JSP 代码

<form:form action="multiplebuttons.html"  commandName="buttonForm">
<table>
<tr>
        <td width="7%">Name:</td>
        <td width="11%"><form:input path="name" /></td><td width="82%"><form:errors cssStyle="color:red" path="name"/></td>                 
    </tr>
<tr>
        <td><input type="submit" value="update" /></td><td><input type="submit" value="save" /></td>
    </tr>
</table>

</form:form>

这是我的 Controller 代码

@Autowired
@Qualifier("formValidator")
private Validator validator;

@InitBinder
private void initBinder(WebDataBinder binder) {
    binder.setValidator(validator);
}

@RequestMapping(value="/views", method = RequestMethod.GET)
public ModelAndView getdata() {
    System.out.println("do something");
    ModelAndView model = new ModelAndView("views");

    model.addObject("name", "Girish");
    return model;
}

@RequestMapping(value="/multiplebuttons", method = RequestMethod.GET)
public String showForm(Map model) {
    System.out.println("Show form");
    ButtonForm Form = new ButtonForm();
    model.put("buttonForm", Form);
    return "multiplebuttons";
}

@RequestMapping(method = RequestMethod.POST)
public String processForm(  @Validated  ButtonForm buttonForm, BindingResult result,
        Map model) {
    System.out.println("Processing..........");             

    if (result.hasErrors()) {
        System.out.println("Has errors");
        return "multiplebuttons";
    }
    return "redirect:views";
}

@RequestMapping("/{name}")
public String editItem(@PathVariable("name") String name, Model model){
    ButtonForm form = new ButtonForm();

    form.setName(name);

    model.addAttribute("buttonForm", form);
    return "multiplebuttons";
}

请帮忙。您能告诉我为什么 processForm 方法没有被触发吗?

提前致谢

最佳答案

您应该修改方法processForm():

@RequestMapping(value="/multiplebuttons", method = RequestMethod.POST)
public String processForm(  @Validated  ButtonForm buttonForm, BindingResult result,
        Map model) {
    System.out.println("Processing..........");             

    if (result.hasErrors()) {
        System.out.println("Has errors");
        return "multiplebuttons";
    }
    return "redirect:views";
}

关于java - 为什么 Spring MVC 4 提交按钮不触发 post 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26463055/

相关文章:

java - 如何定义以连字符命名的任务?

java - 如何在java非递归中搜索一般树中的节点

java - 如何用响应式(Reactive)编程实现嵌套异步代码?

java - Hibernate JPA 和 Spring javax.persistence.TransactionRequiredException : no transaction is in progress (2)

java - 如何在spring中接收动态生成的输入值作为bean

java - 在具有许多传递依赖项的应用程序中实现 SLF4J

java - Spring如何用环境变量替换${}?

java - 如何创建 @RequestMapping @PathVariable 以在参数中包含/?

java - Spring 中的异常处理程序

spring - 具有不同参数 Spring 的多个构造函数