0
我想保存一个窗体,在选择标记中有一个外键,但它总是为空。 !我不能保存外键在春天mvc窗体选择标记
类用户:
@Entity
public class User implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long UserCode;
private String Lastname;
private String Firstname;
private String Adress;
@ManyToOne
@JoinColumn(name="CityCode")
private City CityCode;
private String phone;
private String mail;
private int newsletter;
控制器:
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String add(@ModelAttribute("userModel") User user,BindingResult bindingResult, Model model) {
user.setCreator("admin");
user.setDateCreation(new Date());
user.setDateChange(new Date());
model.addAttribute("user", new User());
metier.AddUser(user);
return "redirect:/user";
}
代码的html:
<div class="form-group">
<label for="city" class="control-label col-lg-2">Ville</label>
<div class="col-lg-4">
<f:select path="CityCode" class="control-label col-lg-12">
<c:forEach items="${states}" var="state">
<option value="${state.cityCode }">${state.name }</option>
</c:forEach>
</f:select>
</div>
我不能救市代码表用户
我有此错误:在对象的usermodel'上字段 'CityCode' 字段错误:拒绝值[1];我不能保存类型城市citycode中的值1! –
您确定value =“$ {state.cityCode}”是一个City对象吗? – Padi
value =“$ {state}”是一个City对象吗?如果是,请尝试更改value =“$ {state}”在保存用户之前,您应该在CityCode字段中拥有一个有效的&持久对象City。我认为你对你的注解感到困惑......所以一个City对象应该有一个cityCode(以及一个cityName,county等等),并且在你的c:forEach选项值中你传递了cityCode(这只是一个字段物体) – Padi