以前在Adobe lab发布了一个Flex Tag Library for JSP的东西,但好像关注的人很少。所以我向大家介绍一下。
使用JSP Tag Library就能在JSP里镶入MXML。这个功能虽包含在flex1.x里,但flex2却没包含。
安装方法:
- 停止FDS(它需要FDS 2.0.1,Express版可)。
- 下载 (flex2_tag_library_for_jsp.zip: 31KB)。
- 把下载的zip文件里的flex-bootstrap-jsp.jar拷贝到/WEB-INF/lib。
- 把下载的zip文件里的flex-webtier-jsp.jar拷贝到/WEB-INF/flex/jars。
-
在web.xml文件添加以下内容。
Code:XML<taglib>
<taglib-uri>FlexTagLib</taglib-uri>
<taglib-location>/WEB-INF/lib/flex-bootstrap-jsp.jar</taglib-location>
</taglib> - 重启动FDS。
使用方法:
标签的声明:
Code:jsp
<%@ taglib uri="FlexTagLib" prefix="mm" %>
镶入MXML,类似于jsp:include,但它包含的不是jsp,是MXML:
Code:jsp
<mm:mxml source="flexApp.mxml"/>
在jsp里插入MXML代码:
Code:jsp
<mm:mxml>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*">
<mx:Text text="Hello World" />
</mx:Application>
</mm:mxml>
还可以动态地编译代码: *因为他不能缓存,所以对开销很大,要注意。
Code:jsp
<mm:mxml>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*">
<% if (request.isUserInRole("admin")) { %>
<AdminConsole/>
<% } else { %>
<UserConsole/>
<% } %>
</mx:Application>
</mm:mxml>
往flex程序里传参数:
Code:jsp
<mm:mxml source="flashvarTest.mxml" width="400" height="200">
<mm:flashvar name="javaVersion" value='<%= System.getProperty("java.version") %>' />
<mm:flashvar name="currentDate" value="<%= new java.util.Date().toString() %>"/>
</mm:mxml>
这里向flashvarTest传了javaVersion和currentDate两个参数。在flex程序里用Application.application.parameters.valueName的形式来访问。
Sample:
Code:jsp
<%@ taglib uri="FlexTagLib" prefix="mm" %>
<mm:mxml height="300" width="600">
<mm:flashvar name="javaVersion" value='<%= System.getProperty("java.version") %>' />
<mm:flashvar name="currentDate" value="<%= new java.util.Date().toString() %>"/>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300" >
<mx:VBox>
<mx:HBox>
<mx:Label text="Java version: "/>
<mx:Label text="{Application.application.parameters.javaVersion}" fontWeight="bold"/>
</mx:HBox>
<mx:HBox>
<mx:Label text="Current Time: "/>
<mx:Label text="{Application.application.parameters.currentDate}" fontWeight="bold"/>
</mx:HBox>
</mx:VBox>
</mx:Application>
</mm:mxml>
![[Google]](http://www.google.com/logos/Logo_25wht.gif)
![[Synchronous Space]](http://weihe924stephen.googlepages.com/syncspace-banner.jpg)
![[Creative Commons License]](http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png)
![[Add to Google]](http://buttons.googlesyndication.com/fusion/add.gif)
![[Aggregated by MXNA]](http://weblogs.macromedia.com/mxna/images/mxna88x31.gif)
![[Flex.org]](http://www.flex.org/images/flexorg.gif)
![Validate my Atom 1.0 feed [Valid Atom 1.0]](http://validator.w3.org/feed/images/valid-atom.png)
![Validate my RSS feed [Valid RSS]](http://resource.googlecode.com/files/valid-rss.png)
![[I heart FeedBurner]](http://www.feedburner.com/fb/images/pub/i_heart_fb.gif)
没有评论:
发表评论