`
bean-woo
  • 浏览: 135452 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

gwt 前端上传组件

    博客分类:
  • GWT
阅读更多

package com.appdev.bsf.client.file;

import com.appdev.bsf.common.client.messagebox.MessageBox;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.FileUpload;
import com.google.gwt.user.client.ui.FormPanel;
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteEvent;
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteHandler;
import com.google.gwt.user.client.ui.FormPanel.SubmitEvent;
import com.google.gwt.user.client.ui.FormPanel.SubmitHandler;
import com.smartgwt.client.widgets.IButton;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.layout.HLayout;


public class GwtFileUploadLayout extends HLayout {
    private FormPanel formPanel = null;
    /**
     *
     * @param submitHandler
     *            不可以为null,<br>
     *            设置action,例如:formPanel.setAction(GWT.getModuleBaseURL() +"fileupload?id=1&clsUrl=" + Object.class);<br>
     *            //id:为当前记录的id值,clsUrl:当前操作实体类全路径(注意参数名字必须一样)<br>
     *            if (fileUpLoad.getFilename().length() == 0) {<br>
     *                MessageBox.getInstance().initComponents("必须选择一个文件");<br>
     *                event.cancel();<br>
     *            } else if (!fileUpLoad.getFilename().toLowerCase().endsWith(".jpg")<br>
     *                    && !fileUpLoad.getFilename().toLowerCase().endsWith(".gif")) {<br>
     *                event.cancel();<br>
     *            }//验证<br>
     * @param submitCompleteHandler
     *            可以为null,用于上传至服务之后可以做其它操作
     */
    public GwtFileUploadLayout(SubmitHandler submitHandler, SubmitCompleteHandler submitCompleteHandler) {
        setWidth(200);
        final FileUpload fileUpLoad = new FileUpload();
        fileUpLoad.setName("imageFileUpload");
        formPanel = new FormPanel();
        formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
        formPanel.setMethod(FormPanel.METHOD_POST);
        formPanel.setWidget(fileUpLoad);
        final IButton btnUpload = new IButton("upLoadButton");
        btnUpload.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                formPanel.submit();
            }
        });

        formPanel.addSubmitHandler(new SubmitHandler() {

            @Override
            public void onSubmit(SubmitEvent event) {
                formPanel.setAction(GWT.getModuleBaseURL() + "fileupload?id=1&clsUrl=" + Object.class);
                if (fileUpLoad.getFilename().length() == 0) {
                    MessageBox.getInstance().initComponents("必须选择一个文件");
                    event.cancel();
                } else if (!fileUpLoad.getFilename().toLowerCase().endsWith(".jpg")
                        && !fileUpLoad.getFilename().toLowerCase().endsWith(".gif")) {
                    event.cancel();
                }

            }
        });
        if (submitCompleteHandler == null) {
            formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {

                @Override
                public void onSubmitComplete(SubmitCompleteEvent event) {
                    String result = event.getResults();
                    if ("".equals(result)) {
                        MessageBox.getInstance().initComponents("文件上传成功");
                    } else {
                        MessageBox.getInstance().initComponents("文件上传失败");
                    }
                }
            });
        } else {
            formPanel.addSubmitCompleteHandler(submitCompleteHandler);
        }
       
        addMember(formPanel);
        addMember(btnUpload);
    }
   
    public FormPanel getFormPanel() {
        return formPanel;
    }
   
}

分享到:
评论

相关推荐

    GWT实现文件上传文件上传

    GWT是一款强大的开发工具,它允许开发者使用Java语言编写客户端的Web应用,然后自动编译成JavaScript,使得开发者可以充分利用Java的强类型和丰富的库来构建复杂的前端应用。 在GWT中实现文件上传,首先需要理解的...

    上传组件开发-基于Bootstrap3

    本教程将聚焦于“上传组件开发”,特别是基于流行的前端框架Bootstrap3的实现。Bootstrap3以其响应式设计和丰富的UI组件,深受开发者喜爱,用于创建美观且功能齐全的网页。 首先,我们来详细讨论“多文件上传”这一...

    gwt-2.8.2.zip

    1. **Java编程**: GWT允许开发者使用Java语言进行前端开发,避免了学习JavaScript或其他前端语言的困扰。Java的强类型、面向对象特性以及丰富的库为开发带来了便利。 2. **编译成JavaScript**: GWT将Java代码编译成...

    gwt使用手册

    运行GWT应用通常涉及两部分:后台的App Engine服务器和前端的浏览器。在Eclipse中,通过“Run as Web Application”命令可以启动应用,自动打开浏览器预览页面,同时在后台启动App Engine服务器。这种集成式的运行...

    maven创建的简单的gwt工程源码

    **GWT(Google Web Toolkit)与Maven的结合** GWT(Google Web Toolkit)是一个开源的Java开发工具,它允许...同时,GWT提供的Java到JavaScript的编译能力,使得开发者可以使用熟悉的Java语言开发复杂的前端应用。

    gwt界面编写example源代码

    本资源提供了GWT界面编写的示例源代码,包括了处理浏览器兼容性问题以及文件上传和下载的实例。 首先,`.classpath`和`.project`是Eclipse项目的配置文件,它们定义了项目的类路径和构建设置。`.classpath`文件指定...

    在liferay中整合GWT,附例子

    GWT是一种开源的Java SDK,它允许开发者用Java编写前端代码,并自动生成优化过的JavaScript,从而在浏览器中运行。GWT提供了丰富的UI组件、数据绑定、异步RPC通信以及强大的调试工具,极大地提高了开发效率。 ...

    gwt学习笔记

    GWT应用程序的核心是入口点类,它负责初始化UI组件并处理事件。入口点类必须实现 `com.google.gwt.core.client.EntryPoint` 接口,并提供一个 `onModuleLoad()` 方法: ```java public class MyApp implements ...

    WebGallery:Django和GWT中的图片库

    在这个项目中,Django主要负责后端逻辑,包括用户认证、图片上传、数据库操作等,而GWT则构建前端用户界面,提供动态交互体验。两者通过HTTP协议进行通信,通常使用JSON格式传输数据。用户在GWT界面上传图片,这些...

    JSupload控件

    JSUpload控件是一种基于JavaScript编写的前端文件上传组件,它为网页应用提供了高效且用户友好的文件上传功能。在Web开发中,文件上传是常见的需求,例如用户上传个人头像、文档分享、图片上传等。JSUpload控件通过...

    cudaonlineide:CUDA 在线IDE GWT文凭项目

    8. **前端框架**:尽管GWT是一个开发工具,但现代Web开发往往使用如React、Vue或Angular等前端框架。理解这些框架如何与GWT集成,可以提升用户体验和功能实现。 9. **错误调试和性能分析**:在CUDA编程中,错误调试...

    Google Plugin for Eclipse 4.3(GPE)

    Google Web Toolkit (GWT) 是一个开源的Java框架,它允许开发者使用Java语言来编写前端Web应用,然后自动编译成优化过的JavaScript代码,以在各种浏览器上运行。GWT 提供了丰富的UI组件库,以及强大的代码分割、异步...

    GAE for java

    - **GWT组件与API**:熟悉GWT的核心组件和API,这有助于更好地利用其特性来增强应用程序的功能。 - **前端与后端集成**:合理设计前端UI与后端逻辑之间的交互,确保应用程序的流畅性和用户体验。 #### 部署到Google...

    DWR原理及中文文档

    3. **文件上传**:DWR支持AJAX方式的文件上传,前端选择文件后,后台处理文件上传,同时提供进度反馈。 ### DWR与框架的整合 DWR可以方便地与各种Web框架集成,例如: - **Spring框架**:DWR可以与Spring无缝结合...

    appengine-java-sdk

    GWT允许开发者使用Java编写前端代码,然后通过编译器将其转换成优化过的JavaScript,可以在所有现代浏览器中运行。描述中提到,GWT编译需要引入"appengine-java-sdk",这是因为AppEngine提供了GWT的兼容支持,使得...

    正版 eWebEditor for jsp

    虽然标签中提到了“加瓦”,但在这个上下文中,可能是指Google Web Toolkit(GWT),这是一个开源的Java开发工具包,允许开发者用Java编写前端应用,并自动编译成高效的JavaScript代码。GWT提供了丰富的UI组件和强大...

    DWR实例

    5. **文件上传**: 利用DWR实现无刷新的文件上传,同时展示上传进度。 **五、DWR与其他Ajax框架比较** 1. **相对于XMLHttpRequest**: DWR提供更高级的抽象,使JavaScript代码更简洁,更易于调试。 2. **与jQuery/...

    基于J2EE的Ajax宝典

    4. **GWT(Google Web Toolkit)**:允许用Java编写前端代码,编译成优化的JavaScript。 5. **Spring MVC**:Spring框架的一部分,提供了集成Ajax的解决方案。 **总结** "基于J2EE的Ajax宝典"这本书可能涵盖了如何...

Global site tag (gtag.js) - Google Analytics