我写了一个 Controller 在后面
@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;
或者任何其他将整数值传递给字符串的选项?请任何人帮忙
最佳答案
代替下面的代码
String s1="redirect:/roles/updateLoadDetails/";
Integer i2=roleId;
stringbuilder.append(s1);
stringbuilder.append(i2);
你也可以使用这个,这样代码行会更少
stringbuilder.append("redirect:/roles/updateLoadDetails/").appnd(""+roleId);
关于java - 我可以将整数值附加到 stringbuilder 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25092326/