データベースのテキスト フィールド (orderid2 と remarks) に入力された他の 2 つの値と共にファイルを保存しようとしています。ただし、List< FileItem > は null です。コードの何が問題なのかわかりませんwhile
。ループを実行していません。
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = upload.parseRequest(request);
Iterator<FileItem> iter = items.iterator();
while(iter.hasNext()) {
FileItem item = iter.next();
if(item.isFormField()) {
String name = item.getFieldName();
String value = item.getString();
System.out.println(name + " " + value);
if(name.equals("orderid2"))
order.setOrderID(Integer.parseInt(value));
else if(name.equals("remarks"))
order.setRemarks(value);
}
}
PS実際には、問題はリクエスト変数にあると思います。私はこの関数内のサーブレットにこのコード全体を持っていprotected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, FileUploadException, SQLException {
ますupload.parseRequest()
。これをどこかにコピペしただけ