【发布时间】:2019-11-08 14:05:31
【问题描述】:
我创建了一个具有递归关系的模型,但是当我在 JSP 视图中将其显示在 form:select 中时,它返回有关数据类型转换的错误,如何在 JSP 视图中显示递归模型?
我使用的是 Java 1.8 和 spring-core 4.1。
当我显示一个数据库行时,递归字段是null,它可以工作,但是当我尝试显示一个递归字段填充了有效值的行时,它不起作用并生成错误。
这是类别中的模型字段
@OneToOne(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
@JoinColumn(nullable=true)
private Category subCategory;
我的控制器向 JSP 视图发送一个名为“category”的 Category 对象
modelAndView.addObject("category", category);
在视图中我通过表单显示对象:选择组件
<form:select path="subCategory.id"
id="category_subCategory"
multiple="false"
cssClass="form-control">
<form:option value="null">-</form:option>
<form:options items="${categories}"
itemValue="id"
itemLabel="name"/>
</form:select>
它没有显示组件,而是破坏并生成以下错误:
2019 年 6 月 26 日下午 4:03:09 org.apache.catalina.core.ApplicationDispatcher 调用严重:Servlet [jsp] 的 Servlet.service() 引发异常 java.lang.NumberFormatException:对于输入字符串:java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 处的“null”...
2019 年 6 月 26 日下午 4:03:09 org.apache.catalina.core.StandardWrapperValve 调用严重:servlet [dispatcher] 在路径 [/ecommerce] 的上下文中的 Servlet.service() 引发异常 [javax.servlet. ServletException: javax.servlet.jsp.JspException: org.springframework.core.convert.ConversionFailedException: 无法从 java.lang.String 类型转换为 @javax.persistence.Id @javax.persistence.GeneratedValue java.lang.Integer 类型值“空”; 嵌套异常是 java.lang.NumberFormatException: For input string: "null"] with root cause java.lang.NumberFormatException: For input string: "null"...
【问题讨论】:
标签: java spring-mvc jsp