日期:2014-05-18  浏览次数:21190 次

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,但是你程序