北大师生互动祝福感谢墙的设计与实现

来源 :中国教育技术装备 | 被引量 : 0次 | 上传用户:vrace_zh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要 祝福感谢墙是一种流行时尚的互联网互动形式。设计开发一个祝福感谢墙系统,利用此功能,学生可以在节日向教师表达祝福与感谢,可以选择留言条的颜色和形状。祝福与感谢的内容存入后台数据库中,前台展示以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 teacher’s name. Compared with HTML technology for blessing wall,Flash dynamic effect technology’s 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
其他文献
通过实验法,从增强学生认知教育,加强球感练习,增加比赛实践+应用指导的方式作为实验组进行一学期试验,结果显示学生在体育学习兴趣和体育成绩上明显提高。
研究对新时期广西高校体育教学质量评价的价值意义、体育教学质量评价现状和评价体系的运用进行了深入探讨,并结合广西高校体育教学的现状,对改进教学质量管理制度、加强师资
为实现体育类专业毕业论文撰写过程中导师与学生、师生与管理间的时间、空间和地域的无障碍指导、交流和监管,以及毕业论文提交时格式标准化、统一化,基于Browser/Server构架
前言 病原菌和异物等引起的污染会对肉品生产有很人的危害,并给企业造成经济损失,这一点始终是肉制品生产商必须关注的问题。
从理论和实践出发,提出物流园区建设项目的"三点一线",即切入点、支撑点、盈利点和效益主线,同时论述基于"三点一线"的物流园区的开发建设理论。最后以柳南高速公路来宾服务区拓
光网络中的圈状结构具有保护速度快、资源利用率高、构造和算法相对简单等特点,特别适用于光网络生存性技术的实施.首先介绍了圈的概念及相关定理,分析了现有基于圈状结构的
为探索金华火腿上的霉菌与火腿质量和色香味形成的关系,我们首先研究了火腿上的霉菌种类、分布和生长规律,并又通过五个方面的试验,证明这些霉菌与火腿质量和色香味的形成没
目的 探讨标准化流程院前急救干预用于呼救性晕厥抢救的效果及对安全转运满意度分析。方法 对本院2015年4月~2017年4月收治的90例呼救性晕厥抢救患者为研究对象,随机分为两组
摘 要 针对科学技术日新月异的变化,职业教育中的计算机教育教学方法应该与时俱进,通过主动改进教学方法与手段,使其更好地与时代发展和社会需要相适应。  关键词 计算机教育;职业教育;任务驱动型教学  中图分类号:G712 文献标识码:B  文章编号:1671-489X(2018)23-0067-03  Abstract In view of the transformation of science
摘 要 旨在通过生态视角探究大学英语翻转课堂教学模式下教师、学生、教学环境之间的生态关系,探究应如何构建良性可持续发展的课堂生态关系。结果显示,师生之间、师生与课堂环境之间关系紧密、相互影响,若某个环节消极滞后,整个教学效果就会受到影响。  关键词 大学英语;翻转课堂;生态关系  中图分类号:H319.1 文献标识码:A  文章编号:1671-489X(2017)10-0052-02  Study