日期:2014-05-20  浏览次数:20690 次

Cannot invoke cn.hakim.web.formbean.projectinfo.DocumentsForm.setPrivacy - argum
错误类型字段 是在一个类里面定义的


代码 

package cn.hakim.bean.project;

public enum Privacy {
NOTENCRYPTED{
public String getName(){
return "不加密";
}
},
CONFIDENTIAL{
public String getName(){
return "机密";
}
},
TOPSECRET{
public String getName(){
return "绝密";
}
};
public abstract String getName();
}



下面是 这个表的尸体类

//保密级别
private Privacy privacy = Privacy.NOTENCRYPTED; 默认给这个给他。

@Enumerated(EnumType.STRING)
@Column(length = 13, nullable = false)
public Privacy getPrivacy() {
return privacy;
}
public void setPrivacy(Privacy privacy) {
this.privacy = privacy;
}


Form类里

  private Privacy privacy;

  public Privacy getPrivacy() {
    return this.privacy;
  }

  public void setPrivacy(Privacy privacy) {
    this.privacy = privacy;
  }



下面是修改界面 的代码,就是点击 修改提交 的时候包错误。

<tr style="display:none;">
                             <th>保密级别</th>
                             <td class="p2"><html:radio property="privacy" value="NOTENCRYPTED">不加密</html:radio><html:radio property="privacy" value="CONFIDENTIAL">机密</html:radio><html:radio property="privacy" value="TOPSECRET">绝密</html:radio></td>
                        </tr>



------解决方案--------------------
默默接分表示存在
------解决方案--------------------
private  是这个的问题 ?
------解决方案--------------------
错误信息呢?贴出来
------解决方案--------------------

目测 枚举有问题
------解决方案--------------------
我觉得可能是这样的
privacy是一个枚举类型
而你的value是CONFIDENTIAL
CONFIDENTIAL是一个字符串
把radio里的value改成
privacy.NOTENCRYPTED
privacy.CONFIDENTIAL
privacy.TOPSECRET