2011年3月7日月曜日

Vaardinでファイルダウンロード

Vaardinの場合はファイルダウンロードロジックを書こうとすると
すごく簡単に書ける。

GWTの場合には、サーバのロジックとクライアント側のコードを両方書かなくてはいけないが。

例えば、ダウンロードボタンを押すと、サーバ側のファイル(下記の例では、「C:\\Users\\2006.pdf"」)
をダウンロードするという例だと、下記のように書けば完了。

とても簡単にかけていまいます。

package com.example.myufirstvaadin;

import java.io.File;

import com.vaadin.Application;
import com.vaadin.terminal.ExternalResource;
import com.vaadin.terminal.FileResource;
import com.vaadin.terminal.gwt.server.WebApplicationContext;
import com.vaadin.ui.*;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Button.ClickListener;

public class MyufirstvaadinApplication extends Application {
 @Override
 public void init() {
  Window mainWindow = new Window("Myufirstvaadin Application");
  Label label = new Label("Hello Vaadin user");
  mainWindow.addComponent(label);
  Button dounloadButton = new Button("ダウンロード");
  mainWindow.addComponent(dounloadButton);
  dounloadButton.addListener(new ClickListener() {
   
   /**
    * 
    */
   private static final long serialVersionUID = 1L;

   public void buttonClick(ClickEvent event) {
    event.getButton().getWindow().open(new FileResource(new File("C:\\Users\\2006.pdf"),MyufirstvaadinApplication.this));
   }
  });
  setMainWindow(mainWindow);
 }

}
 

0 件のコメント: