2016-12-06 15 views
-1

私はSpring MVCとSpring Securityを使用しており、休止状態です。 。?タイプ[java.lang.String]のプロパティ値を必須のタイプ[java.lang.Integer]に変換できません

<div class="control-group "> 
<label class="control-label" for="phone" >Phone Number</label> 
    <div class="controls"> 
    <form:input id="phone" path="Phone_Number" type="text" 
    class="form-control span4"/> 
    <div class="has-error"> 
    <form:errors path="Phone_Number" class="help-inline" /> 
    </div> 
    </div> 
    </div> 
:IAM間違いがある保存「電話番号」を 『データベース』である問題が、私は自分のフォーム

Failed to convert property value of type [java.lang.String] to required type [java.lang.Integer] for property Phone_Number; nested exception is java.lang.NumberFormatException: For input string: "(020)828-5852" 

を送信すると、私は次のエラーを取得する

は、これが私の見解です

モデル:

@NotNull 
    @Column(name="PHONE_NUMBER", nullable=false) 
    private Integer Phone_Number; 

マイコントローラー:

@RequestMapping(value = { "/newuser" }, method = RequestMethod.GET) 
    public String newUser(ModelMap model) { 
     UsersInfo usersInfo = new UsersInfo(); 
     model.addAttribute("usersInfo", usersInfo); 
     model.addAttribute("edit", false); 
     model.addAttribute("loggedinuser", getPrincipal()); 
     return "adduser"; 
    } 

    @RequestMapping(value = { "/newuser" }, method = RequestMethod.POST) 
    public String saveUser(@Valid UsersInfo usersInfo, BindingResult result, ModelMap model) { 


     if (result.hasErrors()) { 
      return "adduser"; 
     } 


     if (!userInfoService.isUserUserNameUnique(usersInfo.getIdUsers(), usersInfo.getUserName())) { 
      FieldError UsernameError = new FieldError("usersInfo", "UserName", messageSource 
        .getMessage("non.unique.UserName", new String[] { usersInfo.getUserName() }, Locale.getDefault())); 
      result.addError(UsernameError); 
      return "adduser"; 
     } 

私はHibernate設定

@Bean 
    public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { 
     return new PropertySourcesPlaceholderConfigurer(); 
    } 

にこの豆を追加していますが、エラーメッセージがまだそこにあるお読みください。

答えて

0

フォームで送信しようとした番号が無効です。整数 - 角括弧で囲まれています。この場合、モデルのPhone_NumberタイプをStringに変更する必要があります。

0

電話番号をintとして扱う場合は、ビューから受け取ったparamがIntegerであることを確認してください。

<form:input id="phone" path="Phone_Number" type="number" class="form-control span4"/> 

あなたはラインにこれ​​を試みることができます

関連する問題