我正在使用Spring MVC和Spring Security以及hibernate。 ?IAM有问题,保存“电话号码”为‘数据库’,其中是错误未能将[java.lang.String]类型的属性值转换为所需的类型[java.lang.Integer]
我得到以下错误,当我提交表单
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"
这是我的看法:
<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>
模型:
@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";
}
我读我对这个bean添加到我的Hibernate配置
@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
但错误信息仍然存在。