java - 类型不匹配异常:无法将字符串(java.String)转换为所需类型(java.lang.Integer)
问题描述
我一直在尝试在我的应用程序中提交表单,但我不断收到以下错误
2021-07-05 21:40:38.910[0;39m [33m WARN[0;39m [35m18360[0;39m [2m---[0;39m [2m[nio-8080-exec-3][0;39m [36m.w.s.m.s.DefaultHandlerExceptionResolver[0;39m [2m:[0;39m Resolved [org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'com.issuetracking.app.enitities.Equipment'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.lang.Integer] for value 'lights'; nested exception is java.lang.NumberFormatException: For input string: "lights"]
我已经这样写了我的控制器。它由显示使用表单输入的数据列表的处理程序方法组成。在表单中添加设备详细信息的处理程序方法。但是,我一直在尝试在同一页面上执行此操作,以便当我以表单形式提交数据时,它应该显示在同一页面上表单下方的表格中。我哪里出错了,我怎么能做到这一点?提前致谢。
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import com.issuetracking.app.enitities.Equipment;
import com.issuetracking.app.services.EquipmentService;
@Controller
public class EquipmentController {
private EquipmentService equipmentService;
public EquipmentController(EquipmentService equipmentService) {
super();
this.equipmentService = equipmentService;
}
@GetMapping("/equipment")
public String listEquipment(Model model) {
model.addAttribute("equipment",equipmentService.getAllEquipment());
return "equipment";
}
@GetMapping("/equipment/new")
public String addEquipment(Model model) {
Equipment equipment = new Equipment();
model.addAttribute("equipment", equipment);
return "equipment";
}
@PostMapping("/equipment")
public String saveEquipment(@ModelAttribute("equipment") Equipment equipments) {
System.out.println(equipmentService.saveEquipment(equipments));
return "redirect:/equipment";
}
}
解决方案
基于错误我会说有一个属性“填充”字符串值“灯”。并且这些值在映射过程中不能转换为整数,因为对于相应的属性,需要一个整数。我会说,输入对象不正确。
推荐阅读
- mysql - 构建 Docker mysql 数据库后抛出 OperationalError
- java - 如何设计一个系统来根据电子邮件中的链接对用户进行身份验证
- c# - C# 错误:控制不能从一个 case label('case0:') 到另一个 case label('case0:')
- windows - 在命令提示符/Windows Powershell (Windows 10) 中使用 UTF-8 编码 (CHCP 65001)
- android - android中webView中的ERR_ACCESS_DENIED
- python - 为什么基于 fft 的卷积总是比空间卷积运行得慢?
- python-3.x - 如何从 mysql 数据库和树视图中删除 python ttk 树视图上的选定项目?
- ssl - 如何为指向另一个服务器 IP 地址的记录子域设置 SSL 证书
- vb.net - 我希望我的自定义类将日志事件传递给调用者 vb.net
- javascript - 如何创建一个新类,我的两个类都将从中继承方法和属性?