3

Primefaces 2.0.1 を使用していますが、FileUpload コンポーネントが正しく動作しません。舞台裏で JQuery uploadify を使用します。これは私のweb.xmlです

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

    <filter>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>

    </filter>
    <filter-mapping>
        <filter-name>PrimeFaces FileUpload Filter</filter-name>
        <servlet-name>Faces Servlet</servlet-name>


    </filter-mapping>


    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>


    <servlet>
        <servlet-name>Resource Servlet</servlet-name>
        <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>Resource Servlet</servlet-name>
        <url-pattern>/primefaces_resource/*</url-pattern>
    </servlet-mapping>



    <welcome-file-list>
        <welcome-file>index.jsf</welcome-file>
    </welcome-file-list>
</web-app>

これは私のindex.xhtmlです:-

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.prime.com.tr/ui">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        <h:form prependId="false">
            <h:commandButton actionListener="#{NewJSFManagedBean.add}" value="add"/>
            <p:fileUpload auto="false" widgetVar="fileUpl" fileUploadListener="#{NewJSFManagedBean.saveFile}"/>

        </h:form>
    </h:body>
</html>

クラスパスに次のライブラリがあります:-

primefaces 2.0.1
commons-beanutils
commons-beanutils-bean-collection
commons-digestor
commons-fileUpload
commons-io
commons-logging
jhighlight

ファイルは /tmp に正しくアップロードされますが、ブラウザーでは常に HTTP エラーと表示されます。私を助けてください。それは昨日まで働いていました。しかし、今日、Glassfish の新規インストールを行ったところ、機能しなくなりました。

4

5 に答える 5

1

h:formタグにenctype = "multipart/form-data"がないようです。

于 2010-05-10T18:10:10.677 に答える
1

私も同じ問題を抱えていました。また、ブラウザ(Firefox)からCookieを削除し、アプリケーションをアップロードすると、機能することに注意してください。

于 2011-07-02T06:37:15.020 に答える
1

このコンポーネントにもいくつか問題がありました。fileUpload コンポーネントやフォームに id を追加することで、うまくいき始めたことを覚えているようです。試すだけの価値があります。

于 2010-05-07T19:15:34.613 に答える
-1

PRIMEFACES 2.2.1 を使用していますが、問題は解決していません。Chrome または Firefox を使用すると HTTP エラーが発生します。IEで大丈夫です。私の場合、これは明らかに、アプリケーションを実行している実際のサーバーをシールドするリバース プロキシが原因で発生します。アプリケーションが直接の URL 参照 (http://server:port/some path) を介して使用されている場合、正常に動作します。リバース プロキシ URL が使用されている場合、要求は失敗します。これが FF と GC で失敗し、IE で失敗しない理由がわかりません。

于 2011-09-14T04:46:44.527 に答える