2011-12-08 40 views
-1
<?xml version='1.0' encoding='UTF-8' ?> 

的facelet標題 響應提交後無法創建會話....爲什麼?

  <f:facet name="header">Books And Authors....</f:facet> 
      <h:panelGrid columns="2" rules="cols"> 



       <h:panelGrid id="pan1" columns="2"> 

        <h:outputText value="Select Author"/> 
        <p:selectOneMenu value="#{bean.selectedAuthor}" converter="authorConverter"> 

         <f:selectItems value="#{bean.authors}" var="author" 
             itemLabel="#{author.name}" itemValue="#{author}"/> 
        </p:selectOneMenu> 
        <h:outputText value="Select Books"/> 
        <p:selectManyMenu value="#{bean.selectedBook}" converter="bookConverter"> 
         <f:selectItems value="#{bean.books}" var="books" 
             itemLabel="#{books.name}" itemValue="#{books}"/> 
        </p:selectManyMenu> 
        <p:commandButton value="Add" process="@form:pan1" update="@form:pan1" action="#{bean.add}" /> 
       </h:panelGrid> 

       <h:panelGrid id="pan2" columns="2"> 
        <h:outputText value="Enter Book name:"/> 
        <p:inputText value="#{bean.name}"/> 

        <p:commandButton value="Search" process="@form:pan2" update="@form:pan2" action="#{bean.search}"/> 
        <p:commandButton value="Inner Join" process="@form:pan2" update="@form:pan2" action="#{bean.innerJoin}"/> 
        <p:commandButton value="Outer Join" process="@form:pan2" update="@form:pan2" action="#{bean.outerJoin}"/> 
        <p:commandButton value="Fetch Join" process="@form:pan2" update="@form:pan2" action="#{bean.fetchJoin}"/> 
        <p:dataTable value="#{bean.results}" var="authors"> 

         <p:column> 
          <f:facet name="header">Author Name</f:facet> 
          #{authors.name} 
         </p:column> 
         <p:column> 
          <f:facet name="header">Book Name</f:facet> 
          <p:dataTable value="#{authors.books}" var="book"> 
           <p:column> 
            #{book.name} 
           </p:column> 
          </p:dataTable> 
         </p:column> 
        </p:dataTable> 
       </h:panelGrid> 

      </h:panelGrid> 
     </p:panel> 
    </h:form> 
</h:body> 

警告:JSF1087:無法作爲響應已經提交,生成的Facelets錯誤頁面。 重度:javax.faces.FacesException:PWC3999:響應一直致力於

後不能創建一個會話

我怎麼能解決這個問題?

回答

3

爲了創建會話,您(幾乎總是)需要設置會話cookie。當響應已經被提交時(即HTTP頭已經發送到客戶端),這是不可能的。在這種情況下,Facelets在內部似乎需要一些會話。

我該如何解決這個問題?

在代碼的早期創建會話。您不必輸入任何會話屬性,只需確保會話存在即可。

相關問題