【问题标题】:can i append integer value to stringbuilder?我可以将整数值附加到字符串生成器吗?
【发布时间】: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


【解决方案1】:

而不是下面的代码

String s1="redirect:/roles/updateLoadDetails/";
 Integer i2=roleId;
 stringbuilder.append(s1); 
 stringbuilder.append(i2);

你也可以使用这个来减少代码行数

stringbuilder.append("redirect:/roles/updateLoadDetails/").appnd(""+roleId);

【讨论】:

    【解决方案2】:

    你可以像这样使用String.format

    String s = String.format("redirect:/roles/updateLoadDetails/%d", roleId);
    

    【讨论】:

      【解决方案3】:

      替换

      stringbuilder.append(i2);
      

      stringbuilder.append(""+i2);
      

      【讨论】:

      • 或者甚至将你的两个 stringbuilder 行合并到:stringbuilder.append(s1+i2);
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 2017-04-25
      • 2017-03-09
      • 2011-07-25
      相关资源
      最近更新 更多