当前位置: 代码迷 >> J2EE >> struts1里formbean里的字段为枚举类型该怎么办
  详细解决方案

struts1里formbean里的字段为枚举类型该怎么办

热度:110   发布时间:2016-04-22 02:08:55.0
struts1里formbean里的字段为枚举类型该怎么处理
枚举如下
Java code
public enum DeliverWay {    GENERALPOST{        public String getName(){            return "平邮";        }    },    EXPRESSDELIVERY{        public String getName(){            return "快递送货上门";        }    },    EXIGENCEEXPRESSDELIVERY{        public String getName(){            return "加急快递送货上门";        }    },    EMS{        public String getName(){            return "国内特快专递EMS";        }    };    public abstract String getName();}

前台用单选
HTML code
<tr>                 <TD class="big14" vAlign="middle" align="right" width="10%"><html:radio property="deliverway" value="GENERALPOST" onclick="javascript:paymentwaySelect(this.value)"/></TD>                 <TD vAlign="middle" ><B>平邮</B> (费用:0.0元)&nbsp;&nbsp;不支持货到付款,注:费用最低,需要到附近邮局自提,时间稍长</TD>                </tr>                <tr>                <TD class="big14" vAlign="middle" align="right" width="10%"><html:radio property="deliverway" value="EXPRESSDELIVERY" onclick="javascript:paymentwaySelect(this.value)"/></TD>                 <TD vAlign="middle" ><B>快递送货上门 </B> (费用:0.0元)&nbsp;&nbsp;支持货到付款 &nbsp;&nbsp;注:200个城市可以到达,部分城市不能到达</TD>                </tr>                <tr>                <TD class="big14" vAlign="middle" align="right" width="10%"><html:radio property="deliverway" value="EXIGENCEEXPRESSDELIVERY" onclick="javascript:paymentwaySelect(this.value)" /></TD>                 <TD vAlign="middle" ><B>加急快递送货上门</B> (费用:0.0元)&nbsp;&nbsp;支持货到付款&nbsp;&nbsp;注:200个城市可以到达,部分城市不能到达</TD>                </tr>                <tr>                 <TD class="big14" vAlign="middle" align="right" width="10%"><html:radio property="deliverway" value="EMS" onclick="javascript:paymentwaySelect(this.value)"/></TD>                 <TD vAlign="middle" ><B>国内特快专递EMS</B> (费用:0.0                 元)&nbsp;&nbsp;不支持货到付款&nbsp;&nbsp;注:适合其他快运无法到达的城市,时间3-5个工作日</TD>                </tr>


名为DeliverForm的formbean如下
Java code
private DeliverWay deliverway;

在提交表单的时候出下面的错误
 java.lang.IllegalArgumentException: argument type mismatch

java.lang.IllegalArgumentException: Cannot invoke com.DeliverForm.setDeliverWay - argument type mismatch


请问这是怎么回事

------解决方案--------------------
要自己写转换器
搜索一下struts 自定义转换器
  相关解决方案