有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案