java - Spring mvc 无法在表单中使用 post 方法

标签 java spring

当我开始编写应用程序时,提交了表单并且 createAnnotation 方法起作用了。现在不行了。为什么? 顺便说一句,GET 方法在 Controller 中执行,而 POST 则不会。

@Controller
@RequestMapping("/annotation")
public class AnnotationController {

    @RequestMapping(value = "/new", method = RequestMethod.POST)
    public String createAnnotation(@ModelAttribute Annotation annotation, BindingResult result){
        annotationService.create(annotation);
        return "redirect:/annotation/annotations.htm";
    }

}
<form action="${pageContext.request.contextPath}/annotation/new" method="post">
  <div class="form-group">
    <label for="text">Annotation name</label>
    <input type="text" class="form-control" id="text" placeholder="Annotation name" name="name"/>
  </div>
  <div class="form-group">
    <label for="date">Date:</label>
    <input type="date" class="form-control" id="date" placeholder="Date" name="date"/>
  </div>
  <div class="form-group">
    <label for="comment">Description:</label>
    <textarea class="form-control" rows="5" id="comment" name="description"></textarea>
  </div>
  <input type="hidden" name="profil.id" value="1"/>
  <input type="submit" class="btn btn-default" value="Submit"/>
</form>

最佳答案

我不知道为什么,但是当我在表单标签中添加此代码时,所有都已修复

<input type="hidden" name="${_csrf.parameterName}"
                                               value="${_csrf.token}" />

wTf???

关于java - Spring mvc 无法在表单中使用 post 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33374353/

相关文章:

java - Magnolia 5.4 升级发布/取消发布时的 java.nio.file.InvalidPathException

java - readObject() 与 readResolve() 恢复 transient 字段

java - 已弃用的 BasicAuthorizationInterceptor 的替代品是什么?

java - 从 cloudfroundry v2 (pivotal) 下载 webapp 文件夹

java - 在 Spring Boot Rest api 中获取 json 数据

java - Spring 启动 1.4 : Executing Method after Liquibase finished

java - 如何使用 setter 和 getter 方法获取对象的对象数组及其响应

java - JNativeHook_6363198016012433909.dll : Access is denied

java - 为什么 Files.probeContentType 返回 null

java - 使用 MongoDB 更新数组