我真的被这个问题困扰了。我们有richfaces项目。我想使用标签而不是因为我不喜欢文件传递给bean的方式。我们的项目运作良好。我相信我在POM中拥有所有需要的东西,但我在How to setup project to support h:inputfile in JSF 2.2 @BalusC阅读之后手动添加了几个,所以我添加了
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>1.2_15</version>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1</version>
</dependency>
这是我的页面:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:b="http://richfaces.org/sandbox/bootstrap"
template="/template.xhtml">
<ui:define name="metadata">
</ui:define>
<ui:define name="content">
<h:inputHidden id="active-bean-name" value="dataloader" />
<h:form>
<h:form id="form" enctype="multipart/form-data">
<rich:fileUpload></rich:fileUpload>
<h:inputFile id="file" value="#{DataLoaderBean.file}"/>
<h:commandButton value="Upload"
action="#{DataLoaderBean.upload}"/>
</h:form>
</h:form>
</ui:define>
</ui:composition>
非常感谢任何帮助。