【发布时间】:2014-08-02 06:30:19
【问题描述】:
我写了一个控制器如下
@RequestMapping(value = "/update/{roleId}", method = {RequestMethod.POST, RequestMethod.PUT})
public String updateRole(@PathVariable Integer roleId,@Valid UserRoleResource roleDTO,
ModelMap modelMap) {
UserRole userRoleforduplicate = userRoleService.findByRoleName(roleDTO.getRoleName());
if(userRoleforduplicate==null)
{
UserRole userRole =
mapper.updateUserRoleFrom(roleDTO,userRoleService.findById(roleId));
userRoleService.update(userRole);
modelMap.addAttribute("user_role", userRole);
modelMap.addAttribute("roleId", userRole.getRoleId());
this.succes="redirect:/roles/listroles";
}
else
{
Object s="Role Name Already Exist";
modelMap.addAttribute("aslam", s);
this.succes="redirect:/roles/updateLoadDetails/roleId";
}
return succes;
}
其中else部分不能正常工作,因为变量succes是字符串,roleId是Integer,所以抛出如下错误
Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested
exception is java.lang.NumberFormatException: For input string: "roleId"
对于这个问题,我可以将 roleId 附加到 StringBuilder 吗?喜欢
String s1="redirect:/roles/updateLoadDetails/";
Integer i2=roleId;
stringbuilder.append(s1);
stringbuilder.append(i2);
return stringbuilder;
或者任何其他将整数值传递给字符串的选项?请大家帮忙
【问题讨论】:
-
请发布完整的堆栈跟踪。
标签: java rest url spring-mvc stringbuffer