日期:2014-05-16  浏览次数:20343 次

JSF中设置Form为enctype="multipart/form-data"的尴尬
我需要用JSF实现一个fileUpload的功能模块,利用commons-fileUpload 1.2帮助其他都不成问题,但是在表单的content-type上出现问题,导致JSF不能处理request中的form如果把它像如下这样设置
        <f:view>
            <h:form  enctype="multipart/form-data">

                    
                    <h:outputText value="选择文件:" />                   
                    <INPUT TYPE="file" name="path" size="38"/>
                    

                    <h:commandButton value="upload" actionListener="#{fileProcess.upload}"/>
                    <h:messages/>

            </h:form>
        </f:view>


google了一下,无非几个方案:
1 用servlet+jsp解决
2 用过滤器
3 利用其他JSF实现提供的现成组件
但是希望能通过JSF RI来解决,不知道有没有成功的解决方法?
1 楼 过儿oO 2008-01-25  
没有什么啊,你直接用myfaces中的upload组件就可以。
2 楼 dmewy 2008-01-25  
你考虑用下SmartUpload吧..
3 楼 Joo 2008-01-26  
过儿oO 写道
没有什么啊,你直接用myfaces中的upload组件就可以。

那个研究了
其实实际上也是通过一个ExtensionFilter的过滤器提前处理了request
等我有空了看看那个filter的代码再自己重新包装一下,可能还需要用到HttpServletRequestWrapper class