为什么<t:inputfileupload value =“#{myBean.uploadedFile}”>无效?</t:inputfileupload>

时间:2012-05-01 22:41:27

标签: jsf file-upload tomahawk

我正在使用JSF 2.0,需要允许用户上传图片。我想使用<t:inputFileUpload>并且阅读它的行为与<input type="file">类似,但我在任何浏览器中都看不到“浏览”选项。

我已正确配置了我的web.xml,并以<h:form enctype="multipart/form-data">作为我的表单开头。表单中只有一个标签。我也可以收集所有必需的罐子。

其他人有此体验吗?

1 个答案:

答案 0 :(得分:0)

如果您在生成的HTML输出中看到<t:inputFileUpload>未解析而不是它应该生成的<input type="file">,那么这意味着t:xxx命名空间未注册,或者包含它的JAR文件不在webapp的运行时类路径中。这样,JSF / Facelets只会将其视为纯文本而不是真正的JSF标记,并且最终会在HTML输出中解析。 webbrowser只能理解HTML标签,因此它不会对未解析的JSF标签执行任何操作,因此您无法在webbrowser的UI演示文稿中看到任何内容。

确保Tomahawk JAR文件全部位于webapp的/WEB-INF/lib文件夹中,并确保您在视图中声明了t:xxx命名空间,如下所示:

xmlns:t="http://myfaces.apache.org/tomahawk"