1.列舉類:
public enum areatype implements ienumconverter
@override
public string getname()
@override
public integer getordinal()
@override
public string gettext()
@override
public integer getvalue()
/*** 根據序數得到列舉
* * @param ordinal
* @return
*/public static areatype getbyordinal(integer ordinal)
}} return null;
}}
2.介面,讓列舉實現這個介面,達到所有的列舉都可以轉換的效果
/**
* 自定義的列舉轉換器介面,自己定義的列舉實現這個介面,struts2的轉換器就會對其進行轉換
* * @author chenl 建立日期 dec 1, 2011
*/public inte***ce ienumconverter
3.列舉轉換器,繼承strutstypeconverter類
/**
* 列舉轉換器
* * @author chenl 建立日期 dec 1, 2011
*/public class enumcommonconverter extends strutstypeconverter }}
} catch (exception e)
} return null;
} @override
public string converttostring(map context, object o)
public static void main(string args) , areatype.class);
system.out.println(obj);
}}
4.最後是在工程的src的目錄下加入xwork-conversion.properties檔案,
內容為:com.jungle.enums.ienumconverter = com.jungle.enums.enumcommonconverter
請求頁面:
<%
areatype areas = areatype.values();
request.setattribute("areas",areas);
%>
action:
import com.jungle.enums.areatype;
import com.opensymphony.xwork2.actionsupport;
@results(value = )
public class enumaction extends actionsupport
public areatype getarea()
public void setarea(areatype area)
}
結果頁:
轉換器寫得不是很完善,還需要改進,這篇文章只是想起到拋磚引玉的作用。
這裡的action使用了無配置的外掛程式需要用到struts2-convention-plugin.jar可以檢視我的另一篇文章:
這篇的重點是轉換器。你也可以使用常規的方法訪問.
struts2列舉轉換器
1.列舉類 view plain public enum areatype implements ienumconverter override public string getname override public integer getordinal override public stri...
struts2自定型別轉換器
型別轉換 a.自定型別轉換器 1 建立實現類,繼承strutstypeconverter或defaulttypeconverter 2 重寫父類方法,實現字串和物件相互轉換 3 在src根目錄下新增配置xwork conversion.properties配置,內容格式 物件屬性型別 轉換器型別,均...
struts2 內建型別轉換器
如下型別可以相互轉化 boolean和boolean 完成字串和布林值之間的轉換 char和character 完成字串和字元之間的轉換 int和integer 完成字串和整形之間的轉換 long和long 完成字串和長整形之間的轉換 flota和float 完成字串和單精度浮點值之間的轉換 dou...