JSF: Probleme beim Hochladen von Dateien mit der Icefaces-Komponente

Ich versuche zu bekommenFileUpload Funktion, die mit Icefaces arbeitetace: fileEntry aber meinfileUploadListener Auf dem Server wird nicht aufgerufen, hier ist der Code:

xhtml piece:

<code><html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ace="http://www.icefaces.org/icefaces/components"
      xmlns:ice-cc="http://www.icesoft.com/icefaces-composite-comps"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ice="http://www.icesoft.com/icefaces/component">
<h:head>
    <link rel="stylesheet" type="text/css" href="/xmlhttp/css/rime/rime.css"/>
</h:head>
<h:body>
    <h:form enctype="multipart/form-data">
        <ace:fileEntry id="fileEntryComp"
                       label="File Entry"
                       relativePath="uploaded"
                       fileEntryListener="#{fileUpload.uploadFile}"/>
        <h:commandButton value="Upload File"/>
    </h:form>
</h:body>
</html>
</code>

Java-Stück

<code>public void uploadFile(FileEntryEvent event)
    {
        FileEntry fileEntry = (FileEntry) event.getSource();
        FileEntryResults results = fileEntry.getResults();
        for (FileEntryResults.FileInfo fileInfo : results.getFiles())
        {
            if (fileInfo.isSaved())
            {
                log.debug("########### FILE IS SAVED ########");
            }
        }
    }
</code>

Protokollinformationen:

<code>    FINE  lifecycle        - Entering RestoreViewPhase
FINE  lifecycle        - New request: creating a view for /trade_entry/UploadBlotter.xhtml
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - Created component with component type of 'javax.faces.ViewRoot'
FINE  application      - Created new view for /trade_entry/UploadBlotter.xhtml
FINE  application      - RenderKitId for this view as determined by calculateRenderKitId HTML_BASIC
FINE  lifecycle        - Exiting RestoreViewPhase
FINE  timing           -  [TIMING] - [2ms] : Execution time for phase (including any PhaseListeners) -> RESTORE_VIEW 1
FINE  lifecycle        - render(com.sun.faces.context.FacesContextImpl@1dc6429)
FINE  lifecycle        - Entering RenderResponsePhase
FINE  lifecycle        - About to render view /trade_entry/UploadBlotter.xhtml
FINE  application      - Building View: /trade_entry/UploadBlotter.xhtml
FINE  application      - Created component with component type of 'javax.faces.Output'
FINE  component        - /trade_entry/UploadBlotter.xhtml @7,9 <h:head> Component[-1351329185_508ba5ae] Created: javax
.faces.component.UIOutput
FINE  application      - Created component with component type of 'javax.faces.Output'
FINE  component        - /trade_entry/UploadBlotter.xhtml @10,9 <h:body> Component[-1351329185_508ba588] Created: java
x.faces.component.UIOutput
FINE  application      - Created component with component type of 'javax.faces.HtmlForm'
FINE  component        - /trade_entry/UploadBlotter.xhtml @11,13 <h:form> Component[-1351329185_508ba5e2] Created: jav
ax.faces.component.html.HtmlForm
FINE  application      - Created component with component type of 'org.icefaces.ace.component.FileEntry'
FINE  application      - Created component with component type of 'javax.faces.Output'
FINE  application      - Created component with component type of 'javax.faces.ComponentResourceContainer'
FINE  application      - Created component with component type of 'javax.faces.Output'
FINE  application      - Created component with component type of 'javax.faces.Output'
FINE  component        - /trade_entry/UploadBlotter.xhtml @15,70 <ace:fileEntry> Component[-1351329185_508ba5fc] Creat
ed: org.icefaces.ace.component.fileentry.FileEntry
FINE  application      - Created component with component type of 'javax.faces.HtmlCommandButton'
FINE  component        - /trade_entry/UploadBlotter.xhtml @16,47 <h:commandButton> Component[-1351329185_508ba5c9] Cre
ated: javax.faces.component.html.HtmlCommandButton
FINE  application      - Created component with component type of 'javax.faces.ComponentResourceContainer'
FINE  component        - No renderer-type for component j_id1
FINE  component        - No renderer-type for component javax_faces_location_BODY
FINE  application      - Rendering View: /trade_entry/UploadBlotter.xhtml
FINE  component        - No renderer-type for component javax_faces_location_HEAD
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  component        - No renderer-type for component _captureFileOnsubmit
FINE  application      - Begin writing marker for viewId /trade_entry/UploadBlotter.xhtml
FINE  application      - End writing marker for viewId /trade_entry/UploadBlotter.xhtml
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - URL pattern of the FacesServlet executing the current request .jsp
FINE  application      - Begin writing marker for viewId /trade_entry/UploadBlotter.xhtml
FINE  application      - End writing marker for viewId /trade_entry/UploadBlotter.xhtml
FINE  lifecycle        - Exiting RenderResponsePhase
</code>

Jetzt kann ich im aktuellen Status das Popup-Fenster für die Dateisystemnavigation öffnen und dann die Datei auswählenfileUploadListener sollte getroffen werden, aber im Moment nicht, auch ich bin in der Lage, einige Daten zu bekommen, die ich auf der Serverseite eingestellt habe, so dass die Server-Reise funktioniert, ist nur ein Problem, das ich habefileUploadListener ist nicht getroffen, irgendwelche Vorschläge?

Aktualisieren Ich suche immer noch nach einer Antwort, da ich die Datei nicht erfolgreich auf den Server hochladen konnte.

Update 2 Jetzt bekomme ichContent is not allowed in prolog Ausnahme, nicht sicher, was genau das bedeutet, hier ist der Stacktrace:

<code>    ERROR [Faces Servlet]  - Servlet.service() for servlet Faces Servlet threw exception: javax.faces.view.facelets.Facele
tException: Error Parsing /trade_entry/UploadBlotter.xhtml: Error Traced[line: 2] Content is not allowed in prolog.
        at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:417) [:2.1.7-SNAPSHOT]
        at com.sun.faces.facelets.compiler.SAXCompiler.doMetadataCompile(SAXCompiler.java:400) [:2.1.7-SNAPSHOT]
        at com.sun.faces.facelets.compiler.Compiler.metadataCompile(Compiler.java:130) [:2.1.7-SNAPSHOT]
        at com.sun.faces.facelets.impl.DefaultFaceletFactory.createMetadataFacelet(DefaultFaceletFactory.java:327) [:2.1.7-SNAPSHOT]
        at com.sun.faces.facelets.impl.DefaultFaceletFactory.access$200(DefaultFaceletFactory.java:93) [:2.1.7-SNAPSHOT]
        at com.sun.faces.facelets.impl.DefaultFaceletFactory$2.newInstance(DefaultFaceletFactory.java:166) [:2.1.7-SNAPSHOT]
        at com.sun.faces.facelets.impl.DefaultFaceletFactory$2.newInstance(DefaultFaceletFactory.java:164) [:2.1.7-SNAPSHOT]
        at com.sun.faces.facelets.impl.DefaultFaceletCache$2.newInstance(DefaultFaceletCache.java:94) [:2.1.7-SNAPSHOT]
        at com.sun.faces.facelets.impl.DefaultFaceletCache$2.newInstance(DefaultFaceletCache.java:89) [:2.1.7-SNAPSHOT]
        at com.sun.faces.util.ExpiringConcurrentCache$1.call(ExpiringConcurrentCache.java:99) [:2.1.7-SNAPSHOT]
</code>

Antworten auf die Frage(4)

Ihre Antwort auf die Frage