0
selectタグに外部キーを持つフォームを保存しようとしていますが、常にnullです。 !i外部キーをSpring 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];タイプシティで都市コードに値1を保存することはできません!! –
値= "$ {state.cityCode}"がCityオブジェクトであることは確かですか? – Padi
値= "$ {state}"はCityオブジェクトですか? yesの場合、value = "$ {state}"を変更してください。ユーザーを保存する前にCityCodeフィールドに有効で持続的なオブジェクトCityが必要です。そして、私はあなたの注釈に混乱していると思うので... CityオブジェクトにはcityCode(およびcityName、countyなど)があり、c:forEachオプション値にはcityCodeを渡します(オブジェクト) – Padi