国产美女一级毛片精品久久久|婷婷影院在线综合免费视频|最新国产午夜精品视频成人|久久精品九九无码免费

Struts2 Date數(shù)據(jù)類型的操作轉(zhuǎn)換器

來源:北大青鳥飛迅校區(qū)|發(fā)布時(shí)間:2013-04-23 09:00:18

  Struts2-Date數(shù)據(jù)類型的操作之轉(zhuǎn)換器的應(yīng)用:

  一、概述

  在B/S應(yīng)用中,將字符串請求參數(shù)轉(zhuǎn)換為相應(yīng)的數(shù)據(jù)類型,是MVC框架提供的功能,而Struts2是很好的MVC框架實(shí)現(xiàn)者,理所當(dāng)然,提供了類型轉(zhuǎn)換機(jī)制。

  Struts2的類型轉(zhuǎn)換是基于OGNL表達(dá)式的,只要我們把HTML輸入項(xiàng)(表單元素和其他GET/POET的參數(shù))命名為合法的OGNL表達(dá)式,就可以充分利用Struts2的轉(zhuǎn)換機(jī)制。

  除此之外,Struts2提供了很好的擴(kuò)展性,開發(fā)者可以非常簡單的開發(fā)自己的類型轉(zhuǎn)換器,完成字符串和自定義復(fù)合類型之間的轉(zhuǎn)換?傊,Struts2 的類型轉(zhuǎn)換器提供了非常強(qiáng)大的表現(xiàn)層數(shù)據(jù)處理機(jī)制,開發(fā)者可以利用Struts2的類型轉(zhuǎn)換機(jī)制來完成任意的類型轉(zhuǎn)換。

  二、實(shí)現(xiàn)自定義類型轉(zhuǎn)換器

  實(shí)現(xiàn)TypeCoverter接口,或者繼承DefaultTypeConverter實(shí)現(xiàn)類(該類實(shí)現(xiàn)了TypeCoverter接口),通過繼承該實(shí)現(xiàn)類來實(shí)現(xiàn)自己的類型轉(zhuǎn)換器。重寫convertValue方法即可。

  為了簡化類型轉(zhuǎn)換器的實(shí)現(xiàn),Struts2提供了一個(gè)StrutsTypeConverter抽象類,這個(gè)抽象類是DefaultConverter的子類。實(shí)現(xiàn)了方法,并提供了2個(gè)不同轉(zhuǎn)換方向的方法:Object

  convertToString(Map context,String[] values,Class toClass)和String convertFromString(Map context,Object o)。

  三、注冊應(yīng)用

  實(shí)現(xiàn)了自定義類型轉(zhuǎn)換器之后,將該類型轉(zhuǎn)換器注冊在Web應(yīng)用中,Struts2框架才可以正常使用該類型轉(zhuǎn)換器。

  關(guān)于類型轉(zhuǎn)換器的注冊方式,主要有3中:

  A、注冊局部類型轉(zhuǎn)換器:僅僅對某個(gè)Action的屬性起作用。

  B、注冊全局類型轉(zhuǎn)換器:對所有Action的特定類型的屬性都會生效。

  C、使用JDK1.5的注釋來注冊類型轉(zhuǎn)換器:通過注釋方式來生成類型轉(zhuǎn)換器。

  1、局部類型轉(zhuǎn)換器

  提供如下格式的文件

  文件名: ActionName-conversion.properties

  內(nèi)容:多個(gè)propertyName(屬性名)=類型轉(zhuǎn)換器類(含包名),如 date=com.aumy.DateConverter

  存放位置:和ActionName類相同路徑。

  2、全局類型轉(zhuǎn)換器

  提供如下格式的文件

  文件名: xwork-conversion.properties

  內(nèi)容: 多個(gè)“復(fù)合類型=對應(yīng)類型轉(zhuǎn)換器”項(xiàng)組成,如 java.Util.Date=com.aumy.DateConverter

  存放位置:WEB-INF/classes/目錄下。

  四、應(yīng)用示例

  由于Struts2對日期轉(zhuǎn)換顯示時(shí),會顯示日期和時(shí)間,現(xiàn)在項(xiàng)目只需要顯示日期,所以采用自定義的類型轉(zhuǎn)換器來實(shí)現(xiàn)日期顯示。

  1、類型轉(zhuǎn)換類

  package com.globalzt.framework.common;

  import java.text.DateFormat;

  import java.text.ParseException;

  import java.text.SimpleDateFormat;

  import java.util.Date;

上一篇:C++中指針和引用有什么區(qū)別?
下一篇:IIS安全性:關(guān)于自定義用戶的驗(yàn)證權(quán)限

熱門話題

招生熱線: 4008-0731-86 / 0731-82186801

學(xué)校地址: 長沙市天心區(qū)團(tuán)結(jié)路6號

Copyright © 2006 | 湖南大計(jì)信息科技有限公司 版權(quán)所有

湘ICP備14017520號-3

關(guān)注我們
在線咨詢
嘿,我來幫您!