WEB开发网
开发学院图形图像Flash 基于flex4技术从零开发flex博客系统 : 5 数据存储... 阅读

基于flex4技术从零开发flex博客系统 : 5 数据存储之管理Greeting

 2009-05-05 12:06:18 来源:WEB开发网   
核心提示: 此时,FxList便可以点选了,基于flex4技术从零开发flex博客系统 : 5 数据存储之管理Greeting(4),当点选时,背景为深灰色,这是造成“遇到文件尾”的罪魁祸首,真不知这个bug应该归罪于WebORB还是flex,文字为白色,鼠标rollOver时

此时,FxList便可以点选了。当点选时,背景为深灰色,文字为白色,鼠标rollOver时,背景为浅灰。这个效果是由GreetingItemRenderer中的selected与hovered状态决定的。关于flex4中的新状态(State)详见:new state in flex4。运行效果如下图所示:

基于flex4技术从零开发flex博客系统 : 5 数据存储之管理Greeting

二,可恶的2030错误

在运行时,我发现会遇到以下Error:

Error: Error #2030: 遇到文件尾。

这个Error是flex客户端抛出的。但是根源却在server端,在类HelloWorld.java的getAllGreetings方法内,我们使用了List做为返回数据类型。在这里List仅是接口,具体数据载体是一个ArrayList。而ArrayList这个鬼类型,有容量与列表长度之分,初始创建时ArrayList有10个容量,当容量不足时,会自动增长2/3。这便造成,在接口的返回结果中,有一些列表元素是null,这是造成“遇到文件尾”的罪魁祸首。真不知这个bug应该归罪于WebORB还是flex。

修改getAllGreetings方法,最终代码如下:

   @SuppressWarnings(value="unchecked")
        public List<Greeting> getAllGreetings() {
                List<Greeting> result;
                try {
                        result = (List<Greeting>) pm.newQuery(Greeting.class).execute();
                        while (result.get(result.size() - 1) == null) {
                                result.remove(result.size() - 1);
                        }
                } finally {
                        pm.close();
                }

                return result;
        }

上一页  1 2 3 4 5 6 7  下一页

Tags:基于 flex 技术

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接