2012-04-09 35 views
1

Ich bekomme IllegalStateException sagen Komponente ID-Formular wurde bereits in der Ansicht gefunden und bin mir nicht sicher, was dieses Problem verursacht, und ich will dies nicht Ausnahme an erster Stelle.JSF IllegalException: Komponenten-ID-Formular: `xyz` wurde bereits in der Ansicht gefunden

Exception

Servlet.service() for servlet Faces Servlet threw exception: java.lang.IllegalStateException: 
Component ID form:_captureFileOnsubmit has already been found in the view. 
at com.sun.faces.util.Util.checkIdUniqueness(Util.java:846) [:2.1.7-SNAPSHOT] 
at com.sun.faces.util.Util.checkIdUniqueness(Util.java:830) [:2.1.7-SNAPSHOT] 
at com.sun.faces.util.Util.checkIdUniqueness(Util.java:830) [:2.1.7-SNAPSHOT] 
at com.sun.faces.application.view.StateManagementStrategyImpl.saveView(StateManagementStrategyImpl.java:135) [:2.1.7-SNAPSHOT] 
at com.sun.faces.application.StateManagerImpl.saveView(StateManagerImpl.java:133) [:2.1.7-SNAPSHOT] 
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225) [:2.1.7-SNAPSHOT] 
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:419) [:2.1.7-SNAPSHOT] 
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125) [:2.1.7-SNAPSHOT] 
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) [:2.1.7-SNAPSHOT] 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [:2.1.7-SNAPSHOT] 
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [:2.1.7-SNAPSHOT] 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) [:2.1.7-SNAPSHOT] 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final] 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final] 

Meine xhtml Seite wie folgt aussieht:

<?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:ui="http://java.sun.com/jsf/facelets" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:icecore="http://www.icefaces.org/icefaces/core" xmlns:ace="http://www.icefaces.org/icefaces/components" xmlns:ice="http://www.icesoft.com/icefaces/component"> 
    <script type="text/javascript" src="/js/icefaces/ace-jquery.js" /> 
    <script type="text/javascript" src="/js/icefaces/ace-components.js" /> 
    <script type="text/javascript" src="/js/icefaces/icepush.js" /> 
    <script type="text/javascript" src="/js/icefaces/bridge.js" /> 
    <script type="text/javascript" src="/js/icefaces/compat.js" /> 
    <script type="text/javascript" src="/js/icefaces/fileEntry.js" /> 
    <script type="text/javascript" src="/js/icefaces/jsf.js" /> 
    <script type="text/javascript" src="/js/icefaces/icefaces-compat.js" /> 

    <h:head> 
     <title>ICEfaces 3</title> 
     <link rel="stylesheet" type="text/css" href="/xmlhttp/css/rime/rime.css"/> 
    </h:head> 
    <h:body> 
      <h:form id="form"> 
       <h:outputText value="Welcome to ICEfaces 3, select current date: "/> 
       <ace:dateTimeEntry renderAsPopup="true"> 
        <f:convertDateTime pattern="MM/dd/yyyy" timeZone="Canada/Mountain"/> 
       </ace:dateTimeEntry> 
       <ace:fileEntry id = "fileUpload" 
           label="File Entry" 
           relativePath="uploaded" 
           fileEntryListener="#{fileUpload.uploadFile}"/> 
      <h:commandButton value="Upload File" /> 
      </h:form> 
    </h:body> 
</html> 

Alles nur zu tun versucht, ist erhalten fileUpload Funktion arbeiten, wierd Teil ist, dass javascript und css vorhanden stopft in javax.faces.resources Ordner ist nicht in der Anwendung verwiesen und so gibt es einige seltsame Fehler, die ich bekomme.

andere Sache zu beachten ist, wenn ich eclipse mit icefaces Plugins verwenden dann fileUplaod Funktion funktioniert gut, aber wenn ich versuche, sie ohne Plugins zu bauen und mit nur Standardsatz erforderlich Gläser dann bin ich componenet id Zusammenhang Illegal bekommen.

Irgendwelche Gedanken, Suggestinos?

Updates

<context-param> 
    <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name> 
    <param-value>true</param-value> 
</context-param> 

<context-param> 
<param-name>javax.faces.VALIDATE_EMPTY_FIELDS</param-name> 
<param-value>false</param-value> 
</context-param> 

<context-param> 
<param-name>com.icesoft.faces.concurrentDOMViews</param-name> 
<param-value>false</param-value> 
</context-param> 

<context-param> 
<param-name>com.icesoft.faces.synchronousUpdate</param-name> 
<param-value>false</param-value> 
</context-param> 

<context-param> 
<param-name>com.icesoft.faces.blockingRequestHandler</param-name> 
<param-value>icefaces</param-value> 
</context-param> 

<context-param> 
<param-name>com.icesoft.faces.checkJavaScript</param-name> 
<param-value>false</param-value> 
</context-param> 
+0

irgendwelche Gedanken, Vorschläge? – Rachel

+0

Was machen diese '