- 浏览: 547729 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (740)
- css (4)
- jquery (8)
- javascript (23)
- html (0)
- uml (0)
- 设计模式 (1)
- 开发工具 (14)
- json (4)
- struts 1.x (3)
- spring (3)
- hibernate (6)
- struts 2.x (17)
- JFreechart (0)
- j2se (48)
- jsp (9)
- flex (22)
- 找工作 (1)
- 技术杂谈 (18)
- 网络编程 (5)
- io流 (1)
- ORACLE (15)
- 报表 (3)
- extjs (11)
- jpbm (2)
- swing (5)
- jspereports (3)
- sql (1)
- linux (15)
- ps (1)
- storm (4)
- hbase (8)
- li (0)
- python (1)
- hive (3)
- 机器学习 (1)
- hdfs (1)
- elasticsearch (1)
- hadoop 2.2 (5)
- hadoop (1)
最新评论
-
Tristan_S:
这个有点意思
ASM -
starryskydog:
程序修改detail band部分的样式 如内容字体大小 ...
使用jasperReport实现动态表头 -
samwong:
Good, so usefule
使用YUI Compressor压缩CSS/JS -
gc715409742:
能够告诉我怎么在web项目中使用YUI Compressor? ...
使用YUI Compressor压缩CSS/JS -
JsonTeye:
您好! 我看你的代码,我现在也在做动态报表,实现功能由用户自己 ...
使用jasperreport动态生成pdf,excel,html
由于我们项目需要在flex中实现图文混排的效果,在实现的过程中经历了很多痛苦,我把经历记录下来,也学到了很多原来不知道的方法和知识
开始的时候打算使用flex中的richtext,可是发现这个里面只支持字体的变化,但是插入图片的功能好像没有实现,晚上也没有找到哦好的例子。后来开始看RichTextEditor的方法,发现了一个addChild的方法,尝试着在里面直接放路一个图片,发现居然好用,心中窃喜,心里还奇怪网上的怎么没有推荐这个方法呢?可是仔细一用,发现这个不知此图片拖拽,不支持图片定位,并且附件的上传也需要自己实现,想了各种办法没有弄好。尝试通过htmltext的方式,但是这个只能显示,并且支持的标签也很有限。看来RichTextEditor不行,只能另寻其他的方法。
采用flex嵌入jsp,这个是领导推荐的,并且也给了一个公司自己的webeditor的开源代码。由此开始了近两周的长途跋涉,克服了一个一个困难,过程中总想放弃,可是无奈不能说服客户说这个功能没什么必要。
开始将jsp采用iframe的方式嵌入要弹出的TitleWindow中,但是发现移动和关闭TitleWindow以后jsp窗口纹丝没动,于是开始分析iframe的代码,终于找到了,通过扑捉TitleWindow移动和关闭事件的时候来操作iframe的动作。终于搞定了第一步,下面还面临着更多的问题。
开始分析公司的webedior代码,发现居然没有上传图片的功能,由于考虑到事务的事情,我想通过ajax中的js将文件传到服务器上,可是发现传到服务端以后request的head总是null的,抛出需要multipart/form-data的异常,网上查询资料,原来上传文件必须要用form提交,于是改用form的提交方式上传图片,于是写了一个file的标签,上传文件没问题了。
这个时候领导提出直接使用这个标签和其他的几个不太搭配,要求将file的输入框和按钮都隐藏掉,于是我打算采用js的方法来触发file的点击事件,可是提交以后居然抛出不允许访问的问题,再次google,网上很多答复,大意是说为了安全问题,这个file标签只能用鼠标 点击,采用js方法来模拟click事件是不允许的。看来只能采用别的方法了
在查询ajax上传文件的时候,偶尔看到了采用frame的方式来做form提交,具体的步骤就是建立一个frame让它的高度和宽度都设置成0,这样就有了一个隐藏的frame,然后将要提交的form的target设置为这个frame,这样form提交的时候页面就不会刷新了。
上传文件成功了,下面回到webeditor中插入图片的问题,现在有两个问题1要将file标签的输入框和按钮隐藏掉,但是上传文件的时候还需要使用。2要上传多个图片文件,还要在webeditor中显示3webeditor中的html字符串要返回给flex怎么做?
问题1解决方法,将file标签的透明度设置成0,当鼠标移到图标上的时候,触发事件,将file的坐标跟踪鼠标的坐标
问题2解决方法当上传成功一个图片以后,重新生成一个新的file标签,这样就可以将多个文件传到后台了。
问题3解决方法,由于要将产生的html字符串传给flex后台存到数据里中去,所以在上传文件的时候需要将存到服务器上的图片文件的名字重新在前台生成,同时将新旧文件的名字组成一个xml字符串,传到后台,这样就可以向flex传递正确的html字符串了。
到这里整个webeditor的工作量算是完成了。
下面解决flex和jsp之间的通讯问题,flex如何调用jsp的方法,flex和jsp之间传参数
首先阅读iframe.as文件,分析了调用jsp中js文件的原理,flex嵌入jsp的时候将jsp作为一个frame嵌入到flex中的html中的,这个frame的id被拼写成iframe_iFrame(iFrame是flex中定义iframe的id),所以我们就可以采用直接使用ExternalInterface来调用(iframe_iFrame.window.js名字),这个方法有返回值也可以向jsp传递参数。
但是这个方法在后来测试的时候总是有一些问题,有的到现在还没就明白
1如果在flex初始化的时候调用jsp的方法,总是调用不成功(没什么反应),分析以后觉得应该是jsp的页面还没有初始化完毕,调用jsp中的js方法可能就无法调用。解决这个办法我使用了一个定时器就是flex中的setInterval来循环调用,直到jsp返回结果在停止
2还有就是有的时候方法调用了,可是传递参数总是传不过去,这个问题很头疼,所以只能在jsp端加一个判断如果接收到的参数为null的,直接返回不成功,要求再次调用
又过了一关,传递参数成功了。
当我觉得任务完成的时候又发现了一个令人头疼的现象,就是在修改页面和浏览页面中的iframe总是出现奇怪的现象(浏览页面中嵌入的flex总是出现修改页面中调用的iframe部分),晕死了。分析以后我觉得应该是当修改窗口关闭以后,iframe的生命周期并没有结束,而当浏览页开始的时候,调用iframe的visible属性设置为true的时候,这个iframe就重新冒上来显示了,于是我只好在关闭之前加上调用iframe清内容的方法
到这里还有两个问题1flex弹出提示框以后,由于分层的原因,jsp页面在提示框之前所以导致提示框无法看到2焦点问题,怎么样在jsp和flex输入框的焦点切换
问题1在弹出提示框之前将iframe隐藏掉,但是ifram中的图片居然没有隐藏掉,只好再次调用清除内容,并设置iframe的visible属性的,当点击确定按钮以后触发的function中重新设置iframe的值并显示
问题2焦点问题,这个问题到现在还没有很好的结局办法,现在采用的是当点击flex部分的时候将原来的iframe remove掉,然后设置它的visible和enable都为false,当flex输入框获得焦点以后,再重新加载iframe,但是这样造成了iframe重新显示以后内容居然没了,所以还得在显示之前调用jsp的设置内容方法,重新注入之前的内容。这样勉强可以实现两者之间的焦点切换,但是遗留了问题,切换焦点的时候,由于ifame隐藏又被显示,这个时候页面会有一个闪烁,而且只有点击两次flex的时候才可以获得焦点。真是费劲啊
焦点问题勉强算是完成了。
这个模块花了我一个7个工作日的时间,由于flex技术还是很不成熟虽然它提供了和jsp交互的方法但是有很多没有实现的接口,网上很多例子都是整个页面嵌入jsp没找到作为flex一部分来实现的,中间过程中尝试了很多方法,也因此了解了自己很多不知道的知识,做这个感觉付出了很多心血,所以标记一下,也许人只有在痛苦中增长的最快吧。
发表评论
-
(原创)flex(AIR)远程文件下载实例(高级版)
2012-01-12 23:36 1128<?xml version="1.0 ... -
关于Flex安全沙箱问题的解决
2012-01-12 11:10 1013关于Flex安全沙箱问题的解决 前些天做了一个 ... -
flex as自定义组件
2012-01-10 10:20 1195Flex 3入门教程: 在Act ... -
flex上传和下载文件
2012-01-09 15:45 1134FileIO 示例说明了在 Flash Player 中执 ... -
flex通信篇——flash与js
2012-01-08 16:14 1444Flex与JS交互推荐用ExternalInterface,它 ... -
[心得教程] Flex与 JS 交互通信方法
2012-01-08 16:07 1386心得教程类型: navigateToURL( ... -
Flex中的文件上传与下载
2012-01-08 14:01 1299和传统的JSP一样,在 ... -
FileReference+HttpHandler实现文件上传/下载
2012-01-08 13:25 1238在Flex的应用开发中,同ASP.NET,JSP ... -
Flex保存文件 FileReference.save(data,filename)
2012-01-08 13:14 2467一、save() 方法简介save()这个方 ... -
关于flex 4的新数据类型中英文对照
2010-08-31 08:34 965Flex 4 new data type:ArrayList ... -
Flex程序与html通信方法大全
2010-08-29 09:30 1073Flex通常作为一个web项目的一部分嵌入到一个web页中,因 ... -
mx:Module mx:XML mx:XMLList mx:XMLListCollection mx:Array mx:ArrayCollection比较
2010-08-23 08:38 984mx:Module 是模块化,好处是,预先不加载,用的时候才加 ... -
flex学习资料
2010-08-19 15:45 1022flex动态效果演示: http://www.efflex.o ... -
使用BlazeDS Java的数据对应表
2010-08-19 12:15 923使用BlazeDS Java的数据对应表 从Action ... -
通道端点配置1
2010-08-19 12:14 997通道端点配置 选择端点 BlazeDS提供了下列 ... -
blazeds学习笔记一整体认识
2010-08-19 12:13 1505blazeds学习笔记一整体认识 BlazeDS是一组服 ... -
后台主动推数据
2010-08-19 12:08 1219后台主动推数据 view sourceprint?1 Asyn ... -
Producer Consumer实例
2010-08-19 11:47 1300Producer Consumer实例 在上一篇文章(blaz ... -
Producer Consumer讲解
2010-08-19 11:46 1272blazeds学习笔记四Producer Consumer讲解 ... -
blazeds学习笔记
2010-08-19 11:39 1083blazeds学习笔记三Message?s ...
相关推荐
在ActionScript 3.0(AS3)编程中,`RichTextField` 是一个非常重要的组件,主要用于实现复杂的图文混排效果。它允许开发者在Flash环境中创建具有文本、图像、颜色、链接等多种元素的富文本展示。`RichTextField` ...
这个是Adobe的官方用Flex4新的Text Layout Framework框架做的demo,demo演示:http://labs.adobe.com/technologies/textlayout/demos/。
标题“google flex图文混排 空间”所指的,就是使用Flex技术来创建一个能够灵活处理图文并茂展示的组件。描述提到的“一个很漂亮的flex图文混排的控件,省的大家做自己定义控件时间”,意味着这个控件已经预先设计好...
【标题】:“Flex图文混排聊天室客户端” 在IT领域,Flex是一种基于Adobe Flash Player运行时的开源框架,主要用于构建富互联网应用程序(RIA)。这个“Flex图文混排聊天室客户端”项目显然是一款使用Flex技术开发...
在Flex 4中实现图文混排是一个常见的需求,特别是在创建用户界面或开发富互联网应用程序时。Flex 4,也称为Spark架构,提供了更强大的布局管理器和组件库,使得图文混排变得更加灵活和可控。本篇文章将深入探讨如何...
完美解决Flex3 中 实现 图文混排 。
这个名为"图文混排编辑器"的项目是专为Flex4设计的一个强大的编辑工具,它允许用户创建和编辑包含文本与图像的复杂布局。在本文中,我们将深入探讨Flex4、AS3、图文混排编辑以及如何使用这个完整版编辑器。 **Flex4...
AS3官方图文混排包是Adobe为了解决在ActionScript 3.0(AS3)环境中,尤其是在Flex 3框架中,对图文混排能力不足的问题而推出的一个重要组件。这个包极大地增强了开发者在创建富互联网应用(RIA)时,处理文本与图像...
在IT行业中,尤其是在移动应用开发或者网页设计领域,"图文混排"是一个常见的需求,它涉及到如何在界面上合理地布局图片和文字,使两者既美观又易读。"Label"通常指的是iOS或Android开发中的文本组件,它可以显示...
在网页设计中,图文混排是一项基础且重要的技能,它能有效地展示信息,提升用户体验。本文将详细解析如何使用HTML的`<dl>`, `<dd>`, 和 `<dt>` 标签来实现一种常见的图文混排效果:左边显示图片,右边显示文字。 `...
在IT行业中,图文混排是一项基础且重要的设计技术,它涉及到网页设计、文档编辑、UI设计等多个领域。图文混排的目的是为了使信息更易于理解,更具吸引力,并提高用户的阅读体验。下面我们将深入探讨图文混排的相关...
在网页设计中,图文混排是一项基础且重要的技能,它涉及到如何优雅地将图像与文本结合,以提高用户的阅读体验和页面的视觉吸引力。在这个"图文混排CSS img font.rar"压缩包中,包含了关于使用CSS(层叠样式表)来...
1. **图文混合**:用户可以在同一编辑区域内方便地插入和排列文字与图片,实现图文混排的效果。 2. **Word兼容性**:支持从Microsoft Word直接复制粘贴内容,保留原有的格式,提高了内容迁移的便利性。 3. **富文本...
在本文中,我们将深入探讨如何使用jQuery来实现右侧图文混排的展示效果,这是一种常见的前端设计模式,尤其适用于网站内容的呈现。为了实现这一效果,我们需要结合CSS、HTML5和JavaScript(具体来说是jQuery库)的...
该压缩包文件“小程序源码 仿qq实现图文混排以及涂鸦等功能.rar”主要包含两个文件:一个PDF文档和一个RAR文件。从标题和描述中我们可以推断,这个资源是关于微信小程序开发的,其目标是模仿QQ的某些功能,如图文...
这个“基于jQuery的图文混排内容幻灯片展示效果的实现代码”示例,是前端网页设计中常见的一种功能,用于提升用户体验,特别是在展示大量图片和文字信息时。接下来,我们将深入探讨这个主题,了解如何利用jQuery创建...
Flex和Java Socket聊天源码是实现在线实时通信的一种技术结合,主要涉及的技术点包括Flex前端开发、Java后端Socket编程以及图文混排和表情支持。下面将详细解释这些知识点。 1. Flex:Flex是由Adobe公司开发的一套...
3. 列表项内图文布局:可以使用上述的图文混排方法,结合`padding`和`line-height`调整间距。 四、响应式布局 1. 媒体查询:使用`@media`规则,根据设备特性(如屏幕尺寸、分辨率)应用不同的CSS样式。 2. 弹性...
标题中的“第一次开源,给大家一个TLF图文并貌的高级应用类”暗示了这是一个关于开源项目的介绍,项目可能涉及使用Adobe Flash技术中的Text Layout Framework (TLF)来创建具有图文混排功能的高级应用程序。...
在Web开发中,CSS布局是构建网页结构的关键技术之一,而“浮动”(Float)是CSS布局中一个重要的概念,它主要用于创建多列布局和实现图文混排效果。本篇文章将深入探讨CSS浮动的原理、用途以及如何在实践中应用。 ...