如果我們只需要用到Flex的一部分功能,例如播放器功能,我們可以單獨把Flex頁面嵌入到Jsp頁面中。要想實現此功能,需要下載一個工程,將其覆蓋在伺服器根目錄下即可。你可以在次下載:FlexModule_j2ee.zip。
在eclipse下建立一個web工程,將剛才下載的工程解壓縮,然後將webtier檔案夾下的內容覆蓋伺服器根目錄下,如本人的:
注意要將lib檔案夾和jars檔案夾下的jar包添加到到類路徑下,這樣就算是整合完成了吧。
接著建立一個flex的mxml檔案PlayVideo.mxml,將其放在WebContent下,代碼如下所示:
<?xmlversion="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"creationComplete="init()"><mx:Script><![CDATA[ import mx.controls.Alert; private var rtmpURL:String="rtmp://localhost/oflaDemo"; private var nc:NetConnection=new NetConnection(); private var playerVideo:Video=new Video(); [Bindable] private var stream:NetStream; private function init():void{ playerVideo.width = 500; playerVideo.height = 400; connect(); } private function connect():void{ nc.addEventListener(NetStatusEvent.NET_STATUS,netStatus); nc.connect(rtmpURL); } private function netStatus(e:NetStatusEvent):void{ trace(e.info.code); if(e.info.code=="NetConnection.Connect.Success"){ stream=new NetStream(nc); playerVideo.attachNetStream(stream); stream.play("chirisyu_ytywn.flv"); container.addChild(playerVideo); } }]]></mx:Script> <mx:UIComponent id="container"></mx:UIComponent></mx:Application>
這個檔案實現的是之前用Red5播放視頻的減縮版。
接著建立一個jsp檔案,如下所示:
<%@ page language="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib uri="FlexTagLib"prefix="mm" %><!DOCTYPE html PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>測試</title><style type="text/css"> #mess{ position: absolute; left: 250px; top: 25px; font-size: 22px; } #video{ position: absolute; left: 250px; top: 70px; }</style></head><body> <div id="mess"> 這是測試視頻: </div> <div id="video"> <mm:mxml source="PlayVideo.mxml"width="500" height="400"> </mm:mxml> </div> </body></html>
可以看出將mxml檔案引入jsp需要做的事是:
1.聲明引入標籤,如<%@tagliburi="FlexTagLib"prefix="mm"%>。如果web.xml檔案中沒有添加
<taglib> <taglib-uri>FlexTagLib</taglib-uri> <taglib-location>/WEB-INF/lib/flex-bootstrap-jsp.jar</taglib-location></taglib>
,則會報錯。
2.在<mm:mxml/>標籤中引入mxml檔案,裡面有一些屬性,可以查看API,本人就不在此贅述了。
好了,這樣就可以測試了,運行jsp檔案,如果成功運行則證明成功了:
當然,這個mxml用的是flex 3檔案,如果換成flex4的話會報錯,因為目前使用的jar包不支援Flex4標籤,不知道作者會不會更新。
原創文章,轉載請註明出處:http://www.dianfusoft.com/