0

こんにちは私はsmartgwtにリストグリッドがあり、サーバーにファイルをアップロードするためのボタンが必要です。通常のサーブレットを作成し、プロジェクトのweb.xmlで宣言しましたが、動作させることができません。404エラーが発生します。デプロイする。gwtで通常のサーブレット(postメソッドとgetメソッドを含む)を使用できますか?

前もって感謝します。

4

2 に答える 2

0

HttpServletsmartgwt で使用できます。あなたが持っDynamicFormて設定する必要があります.setCanSubmit(true);

サンプルコード:

final String DEFAULT_FILE_UPLOAD_SERVICE_PATH = "upload";
final String TARGET = "uploadTarget";

VLayout body = new VLayout();

uploadForm = new DynamicForm();

 // initialise the hidden frame
NamedFrame frame = new NamedFrame(TARGET);
frame.setWidth("1px");
frame.setHeight("1px");
frame.setVisible(false);

uploadForm.setEncoding(Encoding.MULTIPART);
uploadForm.setMethod(FormMethod.POST);
// set the (hidden) form target
uploadForm.setTarget(TARGET);

uploadForm.setAction(DEFAULT_FILE_UPLOAD_SERVICE_PATH);

// initialise the File name field
uploadItem = new UploadItem("filename");
uploadItem.setName("filename");
uploadItem.setTitle("File name");

// set the fields into the form
uploadForm.setFields(uploadItem);

// add the Upload Form and the (hidden) Frame to the main layout container
body.addMember(uploadForm);
body.addMember(frame);
于 2012-05-14T05:09:02.227 に答える
0

GWT は、GWT-RPC と呼ばれる特別な方法で、サーバー側コード (tomcat や jetty などのサーブレット コンテナーで実行) とクライアント側コード (GWT でコンパイルされたクライアント側 JS ファイル) の間でデータを転送します。

ここに画像の説明を入力

サーバーとサーバーとの間で送受信するデータの形式を知る必要があるクライアントは、クライアントが解析できるデータの形式も知っている必要があります (一方の側には JavaScript しかないため、データのシリアル化と逆シリアル化には深刻な制限があります!)。これが、リモート サーブレットのインターフェイスを宣言する必要がある理由です。GWT はそれを使用して別の非同期インターフェイスを作成し、サービス呼び出しをそのインターフェイスに制限します。これが、GWT で標準のサーブレットを使用できない理由です。

于 2012-05-13T17:02:43.840 に答える