日期:2014-05-19  浏览次数:20682 次

老问题:Method "setId" failed for object
我现在在维护一个项目。

在新建的时候,由于页面id为空,所以编译器会提示这样的问题

Error setting expression 'entity.id' with value '[Ljava.lang.String;@179637a'
ognl.MethodFailedException: Method "setId" failed for object net.jqsoft.medicine.entity.SellLogOutListEntity@16b44ea [java.lang.NoSuchMethodException: net.jqsoft.medicine.entity.SellLogOutListEntity.setId([Ljava.lang.String;)]

但是在修改的时候,都没有问题<因为里面有值了>。


它页面是这样写的:
<input id="listID" name="entity.id" type="hidden"/>

后台是这样定义的:
private LogOutListEntity entity;

这个问题网上也有许多解决办法,大概就是把id 设置成String,可现在的问题是,他们用的都是这种格式,我总不能再private String id。吧。各位有好的解决办法吗?

input为空的话默认就是String类型的吧?

------解决方案--------------------
如果是spring 框架,里面有个org.springframework.core.convert.converter.Converter;接口
实现这个
Java code
    @Override
    public int convert(String text)
    {
        if (text.isEmpty())
            return 0;
        else
            return Integer.parseInt(text);
    }