ユーザーがファイルをアップロードして、後で参照できるように保存できるようにするコードを次に示します。エントリ ポイント class-Home.java には次のものがあります --
FileUpload upload = new FileUpload();
FormPanel fp = new FormPanel();
fp.setEncoding(FormPanel.ENCODING_MULTIPART);
fp.setMethod(FormPanel.METHOD_POST);
fp.setAction("\\UploadServlet");
upload.setName("file-upload");
RootPanel とすべてを追加するために必要な追加コードと共に。
Q1. 次のようなものにする必要があります
fp.setAction(GWT.getModuleBaseURL()+"UploadServlet");
setActionに優先されますか? ここに正確にどのパスを配置する必要がありますか?
UploadServlet クラスは
http://www.tutorialspoint.com/servlets/servlets-file-uploading.htm と
String filePath = getServletContext().getInitParameter("file-upload");
また、web.xml ファイルには
<servlet>
<servlet-name>UploadServlet</servlet-name>
<servlet-class>com.gwt.dlogpackage.client.UploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UploadServlet</servlet-name>
<url-pattern>/UploadServlet</url-pattern>
</servlet-mapping>
Q2. なぜこれが機能しないのかわかりません。UploadServlet クラスでファイルアイテムを取得しません。同じためにHTMLコードを使用すると機能しますが、このJavaコードでは機能しません。誰かが理由を教えてもらえますか?
Q3. また、web.xmlでこのようなものが必要ですか?
<context-param>
<description>Location to store uploaded file</description>
<param-name>file-upload</param-name>
<param-value> C:\users\.. </param-value>
</context-param>