Java Spring MVC-使用转换器将ID绑定到对象(ConversionServiceFactoryBean)
Java Spring MVC-使用转换器将ID绑定到对象(ConversionServiceFactoryBean),java,spring,spring-mvc,Java,Spring,Spring Mvc,我有两门课(Team,Coach): Team.java: @Entity @Table(name="TEAM") public class Team { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID_TEAM") private Long idTeam; @Column(name = "NAME_TEAM") private String
我有两门课(
Team
,Coach
):Team.java:
@Entity
@Table(name="TEAM")
public class Team {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID_TEAM")
private Long idTeam;
@Column(name = "NAME_TEAM")
private String nameTeam;
@OneToOne
@JoinColumn(name = "ID_COACH")
private Coach coach;
//Getters & Setters...
}
@Entity
@Table(name="COACH")
public class Coach {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID_COACH")
private Long idCoach;
@Column(name = "NAME_COACH")
private String nameCoach;
@OneToOne
private Team team;
//Getters & Setters...
}
Coach.java:
@Entity
@Table(name="TEAM")
public class Team {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID_TEAM")
private Long idTeam;
@Column(name = "NAME_TEAM")
private String nameTeam;
@OneToOne
@JoinColumn(name = "ID_COACH")
private Coach coach;
//Getters & Setters...
}
@Entity
@Table(name="COACH")
public class Coach {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID_COACH")
private Long idCoach;
@Column(name = "NAME_COACH")
private String nameCoach;
@OneToOne
private Team team;
//Getters & Setters...
}
如您所见,它们之间存在OneToOne
关系。在我的表单中,我(成功地)从数据库中检索到所有教练
<form action="add" method="post">
<label for="nameTeam">Team <span style="color: red;">*</span></label>
<input type="text" name="nameTeam" id="nameTeam"/>
<label for="coach">Coach <span style="color: red;">*</span></label>
<select name="coach" id="coach">
<option value="" disabled selected>- Select a coach -</option>
<c:forEach var="coach" items="${coachs}">
<option value="${coach.idCoach}">${coach.nameCoach}</option>
</c:forEach>
</select>
<button type="submit">Add</button>
</form>
转换服务
:
<!-- Conversion Service -->
<mvc:annotation-driven conversion-service="conversionService"/>
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="converters.ToCoach"/>
</list>
</property>
</bean>
任何人我有点被困在这里…最大的问题是我在控制台中没有收到任何错误消息,这使得很难(如果不是不可能)解决它…您的转换器被调用了吗?我在convert方法中添加了一个“sysout”,但控制台中没有显示任何内容。。。因此,我认为转换器没有被调用,但我不知道为什么要查看这个JIRA请求
https://jira.spring.io/browse/SPR-6801
。您可能必须在控制器上尝试使用@modeldattribute
注释。还要注意具有修复程序的spring版本。让我知道它是否有效,好奇地想知道@modeldattribute
注释是否起作用。有人吗??!我有点被困在这里…最大的问题是我在控制台中没有收到任何错误消息,这使得很难(如果不是不可能)解决它…您的转换器被调用了吗?我在convert方法中添加了一个“sysout”,但控制台中没有显示任何内容。。。因此,我认为转换器没有被调用,但我不知道为什么要查看这个JIRA请求https://jira.spring.io/browse/SPR-6801
。您可能必须在控制器上尝试使用@modeldattribute
注释。还要注意具有修复程序的spring版本。让我知道它是否有效,好奇地想知道@modeldattribute
注释是否起作用。有人吗??!我有点被困在这里…最大的问题是我在控制台中没有收到任何错误消息,这使得很难(如果不是不可能)解决它…您的转换器被调用了吗?我在convert方法中添加了一个“sysout”,但控制台中没有显示任何内容。。。因此,我认为转换器没有被调用,但我不知道为什么要查看这个JIRA请求https://jira.spring.io/browse/SPR-6801
。您可能必须在控制器上尝试使用@modeldattribute
注释。还要注意具有修复程序的spring版本。让我知道它是否有效,我想知道@modeldattribute
注释是否起作用。