0

JSFを使用してExcelファイルをJBossServerにアップロードしたいので、Tomahawkを使用しました。

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

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

私は次の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ページは正常に機能します。

web.xmlにもAddがあります(jBoss Serverの起動時にエラーが発生しません)

<filter> 
<filter-name>extensionsFilter</filter-name> 
<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class> 
<init-param> 
<description> ... </description><param-name>uploadMaxFileSize</param-name> 
<param-value>100m</param-value> 
</init-param> 
<init-param> 
<description> ...</description> 
<param-name>uploadThresholdSize</param-name> 
<param-value>100k</param-value> 
</init-param> 
</filter> 
<filter-mapping> 
<filter-name>extensionsFilter</filter-name><url-pattern>.jsf</url-pattern> 
</filter-mapping> 
<filter-mapping> 
<filter-name>extensionsFilter</filter-name><url-pattern>/faces/</url-pattern> 
</filter-mapping> 

アクションクラスパッケージpanaceaFACweb.FACCtlbean;

import org.apache.myfaces.custom.fileupload.UploadedFile; 
import javax.servlet.http.HttpSession; 
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 ProcessData() { 
load(); 
return null; 
} 

public void load() { 

try { 
InputStream input = minvoice.getInputStream(); 
// ... 
} catch (IOException e) { 
e.printStackTrace(); 
}catch (Exception e) { 
e.printStackTrace(); 
} 
} 
} 

親切に私がそれを修正するのを手伝ってください私は一週間以上試しています:(

4

1 に答える 1

0

ここ、

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

taglibURIのスキームの後にぶら下がっているスペースがあります。それを除く:

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

具体的な問題とは関係なく、拡張機能フィルターのフィルターマッピングのURLパターンが間違っています。とを使用する必要が*.jsfあり/faces/*ます。FacesServletまたは、直接のサーブレット名にマップする方がよいでしょう。

于 2012-11-16T11:57:31.440 に答える