当前位置: 代码迷 >> Java Web开发 >> java.lang.NumberFormatException: For input string: "id"该如何解决
  详细解决方案

java.lang.NumberFormatException: For input string: "id"该如何解决

热度:962   发布时间:2016-04-17 01:11:43.0
java.lang.NumberFormatException: For input string: "id"
我有一个hibernate映射的树状结构的实体,代码如下
Java code
@Entity@Table(name = "t_organization")public class Organization {    private int id;    private String name;    private String sn;//    private String description;    private Organization parent;    private Set<Organization> children = new HashSet<Organization>();    @Id    @GeneratedValue    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    @ManyToOne()    @JoinColumn(name = "pid")    public Organization getParent() {        return parent;    }    public void setParent(Organization parent) {        this.parent = parent;    }    @OneToMany(cascade=CascadeType.ALL,mappedBy = "parent")    public Set<Organization> getChildren() {        return children;    }    public void setChildren(Set<Organization> children) {        this.children = children;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getSn() {        return sn;    }    public void setSn(String sn) {        this.sn = sn;    }    public String getDescription() {        return description;    }    public void setDescription(String description) {        this.description = description;    }}

,在查询的时候value stack中已经有值了,但用如下代码显示时报java.lang.NumberFormatException: For input string: "id"错
Java code
            <s:iterator value="orgs">              <tr bgcolor="#EFF3F7" class="TableBody1" onmouseover="this.bgColor = '#DEE7FF';" onmouseout="this.bgColor='#EFF3F7';">                  <td align="center" vAlign="middle"><s:property value="id"/></td>                  <td align="center" vAlign="middle"><s:property value="name"/></td>                  <td align="center" vAlign="middle"><s:property value="sn"/></td>                  <td align="center" vAlign="middle"><s:property value="parent.name"/></td>                   <td align="center" vAlign="middle"><a href="#" onclick="">删除</a></td>              </tr>            </s:iterator>


------解决方案--------------------
检查下value stack中id是否有String的。
------解决方案--------------------
java.lang.NumberFormatException
------解决方案--------------------
前台传过来的id是“String”型的!
------解决方案--------------------
java.lang.NumberFormatException: For input string: "id"
这是格式化异常,无法格式化string类型的id
------解决方案--------------------
类型转换问题 库里定义的int 页面上是String
你可以在<s:property value="id"/>
上边先把id 取出来 转化一下 String ids = String.valueof(id);
然后直接放在td里边 
这个地方别用S标签了
------解决方案--------------------
汗 看错了 你这是不是查询列表啊
------解决方案--------------------
在查询的时候value stack中已经有值了,说明你查出来的数据类型是String,但是你程序中用的是int,你把类型转化下
------解决方案--------------------
  相关解决方案