999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

北大師生互動祝福感謝墻的設計與實現

2017-05-23 07:54:14楊公義劉國超
中國教育技術裝備 2017年6期
關鍵詞:師生互動

楊公義+劉國超

摘 要 祝福感謝墻是一種流行時尚的互聯網互動形式。設計開發一個祝福感謝墻系統,利用此功能,學生可以在節日向教師表達祝福與感謝,可以選擇留言條的顏色和形狀。祝福與感謝的內容存入后臺數據庫中,前臺展示以Adobe Flex技術開發,用戶可以拖動每條祝福與感謝卡片,支持按院系查看、搜索教師姓名查看等多種模式。與HTML技術的感謝墻相比,Flex技術開發的Flash動態效果更加出眾,給教師和學生帶來耳目一新的感覺,開拓網絡教學環境中新穎的互動方式,拉近師生間距離,增進交流。

關鍵詞 Flex;祝福感謝墻;師生互動

中圖分類號:TP315 文獻標識碼:B

文章編號:1671-489X(2017)06-0057-04

Abstract Blessing wall is a popular form of Internet interaction. This paper designed and developed a blessing wall system. Using this system, students can express their wishes and thanks to the teacher in the festival. Students can choose the color and shape of the message. The blessing contents are stored into the database. The interfaces are developed using Adobe Flex technology. The user can drag each blessing card, view the content sorted by departments, search by the teachers name. Compared with HTML technology for blessing wall,Flash dynamic effect technologys blessing wall is more outstanding. It brings teachers and students fresh and new feeling. It develops anovel interactive network teaching environment, narrows the dis-tance between teachers and students, enhances intercommunion.

Key words Flex; blessing wall; teacher-student interaction

1 引言

祝福感謝墻是一種流行時尚的互聯網互動形式。傳統的不采用Flex+AJAX技術的html感謝墻,用戶體驗差,不支持賀卡拖動,不支持賀卡折疊,不能選擇賀卡主題等。為了使北大師生有更好的體驗,感覺像是在墻上給教師做賀卡一樣表達祝福與感謝,北大采用Adobe Flex技術結合AJAX異步交互技術開發前臺效果,后臺采用數據庫技術把祝福與感謝的元數據分類存儲。

2 祝福感謝墻的系統設計

北大師生互動祝福感謝墻(限校內訪問http://162.105.14.149/course/wishwall/)首頁如圖1所示,用戶可以拖動每條祝福與感謝,內容支持分頁。可以通過“教師姓名”進行模糊搜索,用戶輸入“院系名稱”時支持AJAX自動補全功能。如輸入“數學科學學院”,單擊搜索,并把祝福和感謝的紙條拖成圓形,如圖2所示。進一步輸入教師姓名“張寧”,單擊搜索,如圖3所示。首頁單擊“點此送出祝福”進入北大統一認證,學生輸入計算中心的統一認證賬戶和密碼之后,可以給某個院系的某個教師編寫祝福和感謝,如圖4所示。院系名稱的輸入與圖1類似,支持AJAX自動補全功能,學生可以選擇賀卡的顏色和形狀;為了顯示上的美觀,對輸入字數作了限制,學生在留言的同時,實時顯示還能輸入多少個字。圖4單擊“提交”后,系統給出一段文字和鏈接:“感謝您的留言,請選擇繼續留言還是點擊關閉。”為保障系統安全,只有經過管理員審核通過的祝福與感謝才顯示。后臺管理員的審核頁面如圖5所示,管理員可以批準和刪除學生的留言。批準一列,如果狀態是“待批”,單擊它就變成“已批”,反之亦然[1-2]。

3 客戶端Flex程序與服務器端J2EE程序進行數據交互的關鍵技術

圖1中所有的祝福與感謝內容來自數據庫,查詢與分頁都要與數據庫交互;圖4學生輸入完祝福與感謝的內容并單擊提交之后,要把內容存入數據庫,所以客戶端Flex應用程序要與遠程服務器端J2EE應用程序進行交互。遠程服務器端采用tomcat,Web應用名稱為course,后臺數據庫采用Oracle,編程語言采用Java,開發框架采用Spring,Java后端與前端Flex的交互采用BlazeDS。關于這些技術使用及整合的方法不在本文論述范圍內[3-4]。客戶端利用Flash Builder創建名稱為MDIWishWall的Flex Web項目。主應用程序為multiCustomTitleWin2.mxml,用該文件構造圖1所示的界面,用css文件進行修飾

source="mycss.css"/>。

4 用Flex技術架構互動祝福感謝墻的關鍵技術

multiCustomTitleWin2.mxml是Flex主應用程序,這里定義遠程服務引用feedback Service,啟動函數find RecTotal(),2個異步調用結果findRecTotalResult和find PageResultResult,將每條祝福感謝寫入用戶選擇的紙條的方法addWindowWithObject(),把所有的祝福感謝紙條排成整齊祝福感謝墻的方法tileAuto()。

遠程服務引用和啟動函數 導入1個遠程服務引用的命名空間并定義啟動函數,關鍵代碼為

service=″pku.metc.feedback.service.*″creationComplete=″find

RecTotal()″>,其中pku.metc.feedback.service.*是通過Flash的DCD技術調用服務器端BlazeDS遠程服務[5]。

定義id=″feedbackService″的遠程服務引用,來調用遠程服務器的BlazeDS類型的feedbackService服務,該服務從數據庫中分頁查詢祝福和感謝。關鍵代碼為

FeedbackService id=″feedbackService″ fault=″Alert.show(event.

fault.faultString+′\n′+event.fault.faultDetail)″ showBusyCursor

=″true″/>。

啟動函數findRecTotal()是通過creationComplete觸發的。findRecTotal()用于異步調用遠程服務feedback

Service的findRecTotal()方法,查詢數據庫中祝福感謝的記錄數,將調用結果存入findRecTotalResult.token,

關鍵代碼為protected function findRecTotal():void{findRecTotal

Result.token = feedbackService.findRecTotal(″from Feedback po

where 1=1 and po.dateb<>null and po.longa=″+Const.LONGA+

″order by po.dateadesc″);}。

異步調用結果findRecTotalResult存儲記錄總數并觸發分頁查詢方法

result=″findRecTotalResult_resultHandler(event)″/>,id表示異步調用結果的標識為″findRecTotalResult″,result表示當有異步調用的結果返回時,即當findRecTotalResult.token被賦值時,會自動觸發的方法,該方法能通過findRec

TotalResult.lastResult得到異步調用的結果。因為本異步調用的結果是值,所以可以直接取得,即varRecTotal:int=

findRecTotalResult.lastResult。關鍵代碼為protectedfun

ction findRecTotalResult_resultHandler(event:ResultEvent):void{varRecTotal:int=findRecTotalResultlastResult;vararray:Array=new Array(RecTotal);vararrayCollection:ArrayCollecion=

new ArrayCollection(array);myDG.init(arrayCollection); }。代碼中myDG.init(arrayCollection)的作用是根據參數數組的大小初始化分頁組件,設置總頁數totalPage為數組大小,當前頁currentPage=0,頁面大小pageSize為組件中的常量,并調用findPageResult (iPageNo:int, iPageSize:

int)分頁查詢方法。該方法關鍵代碼為public function find

PageResult(iPageNo:int, iPageSize:int):void{findPageResultRe

sult.token = feedbackService.findPageResult(″from Feedback

po where 1=1 and po.dateb<>null and po.longa=′″+Const.LONGA

+″′ order by po.dateadesc″, iPageNo, iPageSize);}。通過為find

PageResultResult.token賦值,觸發了id=″findPageResult

Result″的異步調用結果。

異步調用結果findPageResultResult存儲記錄總數并觸發分頁查詢

result=″findPageResultResult_resultHandler(event)″/>。其中find

PageResultResult_resultHandler函數作用為根據查詢結果更新祝福感謝墻。先把祝福感謝墻擦掉,再把從數據庫中查到的結果以小紙條的形式貼到墻上。關鍵代碼為

protectedfunction findPageResultResult_resultHandler(event:Re

sultEvent):void{varlist:IList=TypeUtility.convertToCollection

(findPageResultResult.lastResult.list);varlengthold:int=popup

Array.length;for(varj:int=0;j

vePopUp(popUpArray[j]);}for(var k:int=0;k

{popUpArray.pop();} for(var i:int=0;i

backVO:FeedbackVO=list.getItemAt(i) as FeedbackVO;add

WindowWithObject(feedbackVO);}tileAuto(popUpArray,10);}。

因為異步調用的結果是集合,所以需要用com.adobe.seria

lizers.utility.TypeUtility進行類型轉換,varlist:IList=

TypeUtility.convertToCollection(findPageResultResult.lastRe

sult.list)。代碼中函數addWindowWithObject(feedbackVO)

的作用是將每條祝福感謝寫入用戶選擇的顏色的紙條。函數tileAuto(popUpArray,10)根據數據條數,自動算出幾行幾列,并排成整齊的祝福感謝墻的形式。

將每條祝福感謝寫入用戶選擇的顏色的紙條的方法add

WindowWithObject 該方法的參數feedbackVO表示祝福感謝對象,是為學生輸入的一條祝福感謝,是從數據庫中查詢得到一個記錄封裝成的對象。

private function addWindowWithObject(feedbackVO:FeedbackVO):void{

//創建一個默認的藍色紙條

var pop:CustomTitleWin2 = (PopUpManager.createPopUp(this,CustomTitleWin2,false,PopUpManagerChildList.POPUP) as CustomTitleWin2);

//從feedbackVO祝福感謝對象的integera屬性中得到用戶選擇的紙條的顏色

varintegera:int= feedbackVO.integera;

//如果紙條顏色為紅色

if (integera==1) {pop.setStyle(″skinClass″,Class(ygyTitle

Win1));pop.RichTextTitle.styleName=″myTitleW″;pop.myRich

Text.styleName=″myfontstyleW″;pop.myRichTextSignature.styleName=″myfontstyleW″;}

//如果紙條顏色為藍色

else if(integera==2)pop.setStyle(″skinClass″,Class(ygyTitle

Win2))

//如果紙條顏色為橙色

else if (integera==3) pop.setStyle(″skinClass″, Class(ygy

TitleWin3))

//如果紙條顏色為綠色

else if (integera==4) pop.setStyle(″skinClass″,Class(ygyTitleWin4))

//默認紙條顏色為藍色

else pop.setStyle(″skinClass″, Class(ygyTitleWin2))

//**院系,**教師

pop.RichTextTitle.text=feedbackVO.stringd+","+feedback

VO.stringe+"老師";

//祝福感謝內容

pop.myRichText.text=feedbackVO.stringa;

//留言者簽名和日期

pop.myRichTextSignature.text=feedbackVO.stringf+″ ″+

DateTime.DateToCRMDate(feedbackVO.datea);

//將寫滿內容的紙條推進數組。

popUpArray.push(pop);}

把所有的祝福感謝紙條排成整齊的祝福感謝墻的形式的方法tileAuto

public function tileAuto(popUpArray:Array,gap:Number = 0):void{

//變量col:列數,row:行數。

varcol:int = 0;var row:int = 0;

//swf在網頁中的寬度

varavailWidth:Number = this.stage.width;

//swf在網頁中的高度

varavailHeight:Number = this.stage.height;

//第一行距離頁面頂部的空隙

varfirstRowTopMargin:int=100;

//小紙條個數

numWindows = popUpArray.length;

//定義一個默認小紙條

var pop:CustomTitleWin2;

//如果小紙條個數大于0

if(numWindows> 0){

//列數:由舞臺寬度/每條留言的寬度并向上取整

varnumCols:int = Math.ceil(availWidth / Const.Custom

TitleWin2With)-2;

//行數:總紙條數/列數并向上取整

varnumRows:int = Math.ceil(numWindows / numCols);

vartargetWidth:Number =Const.CustomTitleWin2With+

gap; //每條留言的寬度

vartargetHeight:Number= Const.CustomTitleWin2Height+

gap; //每條留言的高度

var x:int =0; //小紙條位置的x坐標

var y:int =0; //小紙條位置的y坐標

for(var i:int = 0; i

[i]; //取出一個小紙條

//每行的結尾要換行

if(i % numCols == 0 &&i> 0)

{row++; //行+1

col = 0; //置首列

}else if(i> 0){col++; //非首列,則列+1

}

x=col * targetWidth; //當前紙條x坐標

//每一行的開頭第一列左側留出空隙:頁面總寬度減去小紙條占的總寬度除以3再向下取整

varfirstColLeftMargin= Math.floor((availWidth-targetWidth

*numCols)/3 );

//x坐標增加一點兒左側的空隙

x+=firstColLeftMargin;

y=row * targetHeight; //y坐標增加

y+=firstRowTopMargin; //第一行的開頭留下空隙

if(col > 0) //非首列x坐標的增加量

x += gap * col;

if(row > 0) //非首行y坐標的增加量

y += gap * row;

pop.move(x,y); }}} //根據x和y的坐標將小紙條移到相應的位置

5 結論

北大采用Adobe Flex技術結合AJAX異步交互技術開發祝福感謝墻前臺效果,用戶體驗好,學生可以在墻上以賀卡的形式向教師表達祝福與感謝,可以選擇賀卡的顏色和形狀,可以任意拖動賀卡的位置,可以重疊賀卡,支持分頁,輸入院系名稱時支持AJAX自動補全,可以按教師姓名模糊搜索。北大師生互動祝福感謝墻良好穩定地滿足了北大師生的需求,增進了師生感情,活躍了校園文化氣氛,目前共有祝福和感謝111條。北大師生互動祝福感謝墻中的技術和算法可直接應用于類似需求的開發場景。

參考文獻

[1]楊公義,張亦工.北京大學教室管理系統的設計與實現[J].現代教育技術,2015(4):115-120.

[2]楊公義,張亦工.基于Red5的網絡教育電視臺的設計與實現[J].現代教育技術,2012(8):109-112.

[3]陳飛,楊公義,李志剛,等.基于Blackboard系統的“北大教學網”擴展開發研究[J].北京大學教育評論,2013(12):201-211.

[4]Spring BlazeDS Integration[DB/OL].http://docs.spring.io/spring-flex/docs/1.5.x/javadoc-api/index.html.

[5]Flex Test Drive[DB/OL].http://www.adobe.com/cn/devnet/flex/testdrive/articles/1_build_a_flex_app2.html.

猜你喜歡
師生互動
小學英語課堂互動教學研究
教師·下(2016年10期)2016-12-03 09:55:23
淺談如何提高小學語文的課堂效率
幼兒園游戲活動中師生互動現狀研究
高中美術鑒賞課中的師生互動的探究
藝術科技(2016年9期)2016-11-18 19:43:27
小學低年級數學課堂師生互動模式的探討
考試周刊(2016年86期)2016-11-11 08:17:35
強化師生互動, 保持課堂活力
考試周刊(2016年85期)2016-11-11 01:00:15
提高學生生物學習興趣,實現課堂教學高效性
南北橋(2016年10期)2016-11-10 17:21:45
新媒體技術在“形勢與政策”課程教學中的應用探索
文教資料(2016年20期)2016-11-07 12:18:05
試論高中政治教學中的師生互動
考試周刊(2016年77期)2016-10-09 11:38:19
論如何打造高效的高中英語課堂教學
考試周刊(2016年77期)2016-10-09 11:29:02
主站蜘蛛池模板: 免费国产一级 片内射老| 亚洲全网成人资源在线观看| 亚洲精品在线观看91| 成人亚洲视频| 99精品国产高清一区二区| 黄色网址手机国内免费在线观看| 最新无码专区超级碰碰碰| 22sihu国产精品视频影视资讯| 午夜毛片福利| 99热这里只有免费国产精品| 97青草最新免费精品视频| 青青国产成人免费精品视频| 国外欧美一区另类中文字幕| 国产欧美日韩在线一区| 中文字幕乱码二三区免费| 国产亚洲精品无码专| 日本亚洲成高清一区二区三区| 欧美区国产区| 国产高清在线观看91精品| 欧美特黄一免在线观看| 欧美性精品| 67194成是人免费无码| 天天色综合4| 男人的天堂久久精品激情| 国产精品污视频| 91色国产在线| 亚洲国产欧美国产综合久久| 国内精品久久人妻无码大片高| 欧美在线网| 国产精选自拍| 午夜欧美在线| 狠狠色噜噜狠狠狠狠奇米777| 免费一级毛片不卡在线播放| 免费观看精品视频999| 玖玖精品视频在线观看| 暴力调教一区二区三区| 伊人成人在线| 国产无码精品在线播放| 久久国产拍爱| 中文字幕在线永久在线视频2020| 老司机午夜精品网站在线观看| 国产第二十一页| 欧美日韩北条麻妃一区二区| 国产性精品| 东京热av无码电影一区二区| 久久这里只有精品免费| 嫩草影院在线观看精品视频| 伊人无码视屏| 欧美日本视频在线观看| 四虎影视库国产精品一区| 精品视频一区在线观看| 日韩AV无码一区| 日本精品视频| 亚洲欧洲日韩国产综合在线二区| 少妇极品熟妇人妻专区视频| 国产手机在线ΑⅤ片无码观看| 亚洲午夜片| 成人午夜视频网站| 免费jizz在线播放| 国产日本欧美在线观看| 在线国产你懂的| 亚洲第七页| 国产精品精品视频| 亚洲天堂网视频| 久久不卡精品| 色噜噜狠狠色综合网图区| 伊人成人在线视频| 日韩麻豆小视频| 亚洲AⅤ永久无码精品毛片| 无码网站免费观看| 区国产精品搜索视频| 一本大道无码高清| 五月天在线网站| 国产一级在线播放| 亚洲国产高清精品线久久| 国产美女精品一区二区| 久久综合国产乱子免费| 黄色网址手机国内免费在线观看| 国产成人禁片在线观看| 久久黄色一级视频| 天天色天天综合网| 久久一本精品久久久ー99|