因此,我想为每个可用图像创建一个删除按钮。问题是,当我单击删除按钮时,它甚至都没有转到控制器
控制器
@Autowired
private PropertyClientService propertyClientService;
@GetMapping(value = {"/property/list"})
public ModelAndView list() {
return new ModelAndView("property/list.html");
}
@GetMapping(value = {"/property/edit/{id}"})
public String edit(@PathVariable Long id, Model model) {
model.addAttribute("property", propertyClientService.get(id));
return "property/edit";
}
@DeleteMapping(value = {"/property/deleteimage/{id}"}, params = "action=deleteImage")
public String deleteImage(
@PathVariable Long id) {
propertyClientService.deleteImage(id);
return "redirect:/admin/property/list";
}
html和百里香
<form class="form form-horizontal" name="editProperty"
th:action="@{/admin/property/update/}+${property.id}" th:object="${property}"
method="post">
<div class="form-group">
<label class="col-sm-4 control-label">
Photo:
</label>
<div class="col-sm-8" id="photo" th:each="image : *{images}">
<img th:src="${image.url}"/>
<a th:href="|@{/admin/property/deleteimage/}+${id}|" class="btn btn-danger" value="deleteImage">Delete</a>
<!--<button type="submit" name="action" value="deleteImage">Delete Image</button>-->
</div>
<a href="javascript:void(0)" onclick="addMoreFiles('addPhoto')" class="btn btn-default">Add
Photo</a>
<div class="col-sm-10 addPhoto">
<input type="file" name="addPhoto" onchange="readURL(this);"/><br/>
</div>
</div>
</form>
错误
发生意外错误(类型=不允许使用方法,状态= 405)。 请求方法'GET'不支持
我是编程世界的新手。如果代码整洁或有愚蠢的错误或我提出问题的方式不好,请原谅。请用简单的词指导我,谢谢:)
答案 0 :(得分:1)
您期望控制器中的 删除请求 对该链接不满意:
<a th:href="|@{/admin/property/deleteimage/}+${id}|" class="btn btn-danger" value="deleteImage">Delete</a>
会产生GET请求。
您可以做两件事: