0
當我嘗試提交html選項選擇表單時,出現以下錯誤,所選選項值未轉換爲受尊重的枚舉類型。Spring @ModelAttribute,http post參數轉換失敗
未能將'java.lang.String'類型的屬性值轉換爲屬性'portalLayoutLocation'所需的類型'net.mis.lookup.model.PortalLayoutLocation';嵌套異常是java.lang.IllegalStateException:無法將屬性「portalLayoutLocation」的[java.lang.String]類型值轉換爲所需類型[net.mis.lookup.model.PortalLayoutLocation]:未找到匹配的編輯器或轉換策略
<select name="portalLayoutLocation" id="portalLayoutLocation">
<option value="">Choose a PortalLayoutLocation</option>
<option value="1">PortalLayoutLocation.HEADER_MAIN_LOGO</option>
<option value="2">PortalLayoutLocation.HOMEPAGE_TECHNICAL_TIP_OF_THE_DAY</option
<option value="3">PortalLayoutLocation.HOMEPAGE_CARTOON_OF_THE_DAY</option>
<option value="4">PortalLayoutLocation.FOOTER_LOGO</option>
<option value="5">PortalLayoutLocation.PORTAL_HEADER_MAIN_ADVERTISEMENT</option>
<option value="6">PortalLayoutLocation.PORTALHOMELAYOUT_HOMECONTENT_ADVERTISEMENT</option>
<option value="7">PortalLayoutLocation.PORTALHOMELAYOUT_WIDESIDEBAR_ADVERTISEMENT</option>
<option value="8">PortalLayoutLocation.PORTALLAYOUT_NARROWSIDEBAR_ADVERTISEMENT</option>
</select>
public enum PortalLayoutLocation {
HEADER_MAIN_LOGO(1, "PortalLayoutLocation.HEADER_MAIN_LOGO"),
HOMEPAGE_TECHNICAL_TIP_OF_THE_DAY(2, "PortalLayoutLocation.HOMEPAGE_TECHNICAL_TIP_OF_THE_DAY"),
HOMEPAGE_CARTOON_OF_THE_DAY(3, "PortalLayoutLocation.HOMEPAGE_CARTOON_OF_THE_DAY"),
FOOTER_LOGO(4, "PortalLayoutLocation.FOOTER_LOGO"),
PORTAL_HEADER_MAIN_ADVERTISEMENT(5, "PortalLayoutLocation.PORTAL_HEADER_MAIN_ADVERTISEMENT"),
PORTALHOMELAYOUT_HOMECONTENT_ADVERTISEMENT(6, "PortalLayoutLocation.PORTALHOMELAYOUT_HOMECONTENT_ADVERTISEMENT"),
PORTALHOMELAYOUT_WIDESIDEBAR_ADVERTISEMENT(7, "PortalLayoutLocation.PORTALHOMELAYOUT_WIDESIDEBAR_ADVERTISEMENT"),
PORTALLAYOUT_NARROWSIDEBAR_ADVERTISEMENT(8, "PortalLayoutLocation.PORTALLAYOUT_NARROWSIDEBAR_ADVERTISEMENT");
private int typeCode;
private String messageKey;
private PortalLayoutLocation(int typeCode, String messageKey) {
this.typeCode = typeCode;
this.messageKey = messageKey;
}
public int toInt() {
return typeCode;
}
public static PortalLayoutLocation fromInt(int value) {
switch (value) {
case 0:
return null;
case 1:
return HEADER_MAIN_LOGO;
case 2:
return HOMEPAGE_TECHNICAL_TIP_OF_THE_DAY;
case 3:
return HOMEPAGE_CARTOON_OF_THE_DAY;
case 4:
return FOOTER_LOGO;
case 5:
return PORTAL_HEADER_MAIN_ADVERTISEMENT;
case 6:
return PORTALHOMELAYOUT_HOMECONTENT_ADVERTISEMENT;
case 7:
return PORTALHOMELAYOUT_WIDESIDEBAR_ADVERTISEMENT;
case 8:
return PORTALLAYOUT_NARROWSIDEBAR_ADVERTISEMENT;
default:
throw new UnsupportedOperationException("Unexpected enum value : " + value);
}
}
public int getTypeCode() {
return typeCode;
}
public String getMessageKey() {
return messageKey;
}
public String getLocalozedMessage() {
return StaticMessageSource.getMessage(messageKey);
}
@Override
public String toString() {
return getLocalozedMessage();
}
}
你能發佈一些net.mis.lookup.model.PortalLayoutLocation'的'? – artbristol 2011-06-07 09:03:02
附加「net.mis.lookup.model.PortalLayoutLocation」到問題 – Buddhi 2011-06-08 04:22:10