【发布时间】:2017-09-07 04:05:04
【问题描述】:
我有一个用于在我正在编码的网站上上传文件的表单。从 URL http://localhost:8080/uploadRevision/{docId} 它应该指向 URL http://localhost:8080/uploadRevisionLanding,然后重定向回 userDashboard。
但是,当我提交表单时,它会将我带到 http://localhost:8080/uploadRevision/uploadRevisionLanding,因此它会将 /uploadRevisionLanding 附加到 URL,而不是从根目录开始(抱歉,如果这不是正确的术语)。
我正在使用 SpringIO 和 Thymeleaf,并且我编写了其他代码以类似的方式工作。
我的表格
<form name="upload" action="/" th:action="@{uploadRevisionLanding}" th:object="${document}" method="POST" enctype="multipart/form-data">
<div class="container">
<br />
<div class="row">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading">
<strong>Upload files</strong> <small>
</small>
</div>
<div class="panel-body">
<label class="control-label" >Title:</label>
<label class = "docTitle" th:text="${document.title}" />
<label class="control-label">Select File:</label>
<input id="input-2" type="file" name="file" class="file"/>
<button type="button" class="btn btn-default file-preview-clear" value="Reset">
<span class="glyphicon glyphicon-remove"></span>
Clear </button>
<!-- file-preview-input -->
<button type="submit" class="btn btn-labeled btn-primary" value="Submit">
<span class="btn-label"><i class="glyphicon glyphicon-upload"></i>
</span> Upload </button>
<input type="hidden"
name="${_csrf.parameterName}"
value="${_csrf.token}"/>
</div>
</div>
</div>
</div>
</div>
我的控制器方法
@GetMapping("/uploadRevision/{docId}")
public String uploadRevision(Model model, @PathVariable("docId") long docId) {
/* Do something */
return "/uploadRevision";
}
@PostMapping("/uploadRevisionLanding")
public RedirectView handleRevisionUpload (@RequestParam("file") MultipartFile file,
RedirectAttributes redirectAttributes,
@ModelAttribute Document document) {
/* Load logged user */
/* Set branch for file */
return new RedirectView("/uploadRevisionLanding");
}
@GetMapping("/uploadRevisionLanding")
public ModelAndView uploadRevisionLanding() { return new ModelAndView("userDashboard"); }
在控制器方法中,我尝试返回带有和不带有前面“/”的 URL 字符串
【问题讨论】:
标签: java html spring forms spring-mvc