Java 我可以将整数值附加到stringbuilder吗?
我写了一个控制器如下Java 我可以将整数值附加到stringbuilder吗?,java,rest,url,spring-mvc,stringbuffer,Java,Rest,Url,Spring Mvc,Stringbuffer,我写了一个控制器如下 @RequestMapping(value = "/update/{roleId}", method = {RequestMethod.POST, RequestMethod.PUT}) public String updateRole(@PathVariable Integer roleId,@Valid UserRoleResource roleDTO, ModelMap modelMap) { UserRole userRoleforduplica
@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是整数,所以它抛出以下错误
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 s = String.format("redirect:/roles/updateLoadDetails/%d", roleId);
替换
stringbuilder.append(i2);
与
而不是下面的代码
String s1="redirect:/roles/updateLoadDetails/";
Integer i2=roleId;
stringbuilder.append(s1);
stringbuilder.append(i2);
您也可以使用此选项,这样代码行将更少
stringbuilder.append("redirect:/roles/updateLoadDetails/").appnd(""+roleId);
甚至可以将两个stringbuilder行组合到:stringbuilder.append(s1+i2);请发布完整的堆栈跟踪。
stringbuilder.append("redirect:/roles/updateLoadDetails/").appnd(""+roleId);