0

我想用 JSF 将 Excel 文件上传到 JBoss 服务器,所以我使用了 Tomahawk。

这是视图:

<%@ taglib uri="http://myfaces.apache.org/extensions" prefix="x"%>

<h:form id="MF" enctype="multipart/form-data" >
    <x:inputFileUpload id="fileupload" value="#{dataentryctl.minvoice}" storage="file" required="false" />
    <h:commandButton id="Submit" type="button" action="#{invoiceentryctl.PersistData}" value="save" 
        onclick="revalidateF12();submitForm()" onkeydown="keyDownEvents(this)" />
</h:form>

这是控制器/模型:

package panaceaFACweb.FACCtlbean;

import org.apache.myfaces.custom.fileupload.UploadedFile;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class dataentryctl {

    private UploadedFile minvoice;

    public UploadedFile getMinvoice() {
        return minvoice;
    }

    public void setMinvoice(UploadedFile minvoice) {
        this.minvoice = minvoice;
    }

    public String PersistData() {
        load();
        return null;
    }

    public void load() {
        ParseXLS parseXls = new ParseXLS();
        try {
            InputStream input = minvoice.getInputStream();          
            // ...
        } catch (IOException e) {           
            e.printStackTrace();
        }catch (Exception e) {          
            e.printStackTrace();
        }
    }
}

我有以下 JAR:

  • tomahawk-1.1.9.jar
  • commons-el-1.0.jar
  • commons-logging-1.1.1.jar
  • commons-fileupload-1.2.2-javadoc.jar
  • commons-io-1.4.jar

其他与 JSF 相关的 JAR 已经存在。其他 JSP 页面工作正常。

NullPointerException上线了InputStream input = minvoice.getInputStream();

4

0 回答 0