java Struts2文件上载NullPointerException
我一直在努力实现struts2。1.8文件上载,但在带有NullPointerException的操作中失败。似乎没有创建文件对象。在Stack上看到了类似的问题和答案,尝试了所有推荐的技巧,但没有成功。也许我的问题只是需要多一双眼睛
行动
public class CampaignUploadFileAction extends BaseAction {
private static final Logger log = Log.getLogger(CampaignFileUploadAction.class);
private List<String> arialTables = new ArrayList<String>();
private String arialTable;
private File fileUpload;
private String fileUploadContentType;
private String fileUploadFileName;
public String execute(){
log.info(this.getClass().getName() + "-execute() start");
populateArialTables();
return SUCCESS;
}
private void populateArialTables(){
log.info(this.getClass().getName() + "-populateArilTables() start");
for(ArialDBTables table : ArialDBTables.values()){
arialTables.add(table.name());
}
}
public String uploadFile(){
log.info(this.getClass().getName() + "-uploadFile() start");
log.info("arialTable[" + getArialTable() + "]");
log.info("fileName[" + getFileUploadFileName() + "]");
log.info("filePath[" + getFileUpload().toString() + "]");
log.info("fileContentType[" + getFileUploadContentType() + "]");
return SUCCESS;
}
public List<String> getArialTables() {
return arialTables;
}
public void setArialTables(List<String> arialTables) {
this.arialTables = arialTables;
}
public String getArialTable() {
return arialTable;
}
public void setArialTable(String arialTable) {
this.arialTable = arialTable;
}
public File getFileUpload() {
return fileUpload;
}
public void setFileUpload(File fileUpload) {
this.fileUpload = fileUpload;
}
public String getFileUploadContentType() {
return fileUploadContentType;
}
public void setFileUploadContentType(String fileUploadContentType) {
this.fileUploadContentType = fileUploadContentType;
}
public String getFileUploadFileName() {
return fileUploadFileName;
}
public void setFileUploadFileName(String fileUploadFileName) {
this.fileUploadFileName = fileUploadFileName;
}
}
struts。xml
<action name="fileUploadAction" class="fileUploadAction" method="uploadFile">
<interceptor-ref name="fileUpload">
<param name="maximumSize">350000000</param>
</interceptor-ref>
<interceptor-ref name="basicStack" />
<result name="success">/jsp/admin/result.jsp</result>
</action>
Html表单
<s:form enctype="multipart/form-data" action="fileUploadAction.action" method="post" namespace="/">
<table style="width:600px">
<tr>
<td>Select file to upload</td>
<td><s:file name="fileUpload"/></td>
</tr>
<tr>
<td>Select table to upload to</td>
<td><s:select name="arialTable" list="arialTables" key="arialTable" headerKey="" headerValue="---Select Table---"></s:select></td>
</tr>
</table>
<s:submit value="Upload"/>
</s:form>
共 (0) 个答案