读书人

struts1里formbean里的字段为枚举类型

发布时间: 2012-03-15 11:50:38 作者: rapoo

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元)  不支持货到付款,注:费用最低,需要到附近邮局自提,时间稍长</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元)  支持货到付款   注: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元)  支持货到付款  注: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                 元)  不支持货到付款  注:适合其他快运无法到达的城市,时间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 自定义转换器

读书人网 >J2EE开发

热点推荐