我已声明编码类型"多部分/表格数据"在java服务器页面中。我试图获取文件的文件值。所有文本字段,我得到null。如果我删除了编码类型文本字段被正确检索。
答案 0 :(得分:0)
hei,那导致jsp不支持方法request.getparameter(“”);使用表单使用enctype =“multipart / form-data”从textfield获取值。我建议您使用apache common来上传文本字段类型文件,而对于获取输入字段文本,请使用此示例编码。
for (FileItem item : formitem) {
// proces only fields thats are not from fields
String s1 = item.getFieldName();
if(s1.equals("id")){
String sid = item.getString();
//System.out.println(sid);
if(sid == null || sid.isEmpty()){
id_data2 = sid;
} else{
id_data2 = sid.toString();
id_data = Integer.parseInt(id_data2);
}
}if(s1.equals("name")){
String sid = item.getString();
//System.out.println(sid);
String invoicenumber = sid;
if(invoicenumber == null || invoicenumber.isEmpty()){
multiple_invoice_model.setInvoice_number(333);
}else{
int id_invoice = Integer.parseInt(invoicenumber);
multiple_invoice_model.setInvoice_number(id_invoice);
}
}if(s1.equals("file")){
String sid = item.getString();
//System.out.println(sid);
if (!item.isFormField()) {
String filename = new File(new Date().getTime() + "_" + item.getName()).toString();
File store_file = new File(uploaddir.toString(), filename);
// save file on disk
item.write(store_file);
document_model document_model = new document_model();
document_model.setNama_document(filename);
document_model = multiple_invoice_dao.simpan_document(document_model);
System.out.println("Id Document" + document_model.getId());
}
}
}
} catch (Exception e) {
//request.setAttribute("message", "there has benn error :" + e.getMessage());
e.printStackTrace();
}