2012-02-08 61 views
0

我有一個index.xhtml頁面上市書籍。點擊一本書後,它會轉到book.xhtml以顯示該書的特定細節。有用。然而,我的項目即時使用Icefaces。當我添加一個Iceface組件時,ice:panelTabSet,到book.xhtml單擊index.xhtml上的鏈接將不再重定向到book.xhtml了。任何人都可以解釋這一點嗎?爲什麼Icefaces組件不允許我的應用程序工作?

的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:c="http://java.sun.com/jsp/jstl/core" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:f="http://java.sun.com/jsf/core"> 
    <h:head> 
     <title>BookShop</title> 

    </h:head> 
    <h:body> 

     <h:form> 
     <ul> 
    <ui:repeat value="#{bookCatelogBean.books}" var="book"> 
     <li> 
      <h:commandLink action="bookDetails">#{book.title} 
       <f:param name="id" value="#{book.id}" /> 
      </h:commandLink> 
     </li> 
    </ui:repeat> 
</ul> 
     </h:form> 

    </h:body> 
</html> 

book.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:c="http://java.sun.com/jsp/jstl/core" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:ice="http://www.icesoft.com/icefaces/component"> 
    <h:head> 
     <title>BookShop</title> 

    </h:head> 
    <h:body> 

     #{book.title} 

     <h:graphicImage id="image1" value="#{book.coverImage}" /> 

     #{book.description} 

     <ice:panelTabSet styleClass="tabSet" tabPlacement="bottom" align="right"> 
      <ice:panelTab label="label1"> 
       <ice:outputText value="Label" /> 
      </ice:panelTab> 
      <ice:panelTab label="label2"> 
       <ice:outputText value="Label2" /> 
      </ice:panelTab> 
      <ice:panelTab label="label3"> 
       <ice:outputText value="Label3" /> 
      </ice:panelTab> 
     </ice:panelTabSet> 
    </h:body> 
</html> 
+0

你的服務器日誌裏有什麼? – zeller 2012-02-08 16:54:03

+0

您正在使用Facelets,而不是JSP,因此請不要添加JSP標記。我已將其刪除。 – BalusC 2012-02-08 19:21:32

回答

1

<h:commandLink>似乎並不指向任何現有的頁面。您已將其設置爲bookDetails,但目標視圖ID爲book(來自book.xhtml)。您也不需要在這裏發佈POST,它只會讓鏈接無法被searchbots抓取,並且無法被最終用戶標記。

改爲使用<h:link>並將其outcome設置爲book而不是bookDetails

<h:link value="#{book.title}" outcome="book"> 
    <f:param name="id" value="#{book.id}" /> 
</h:link> 

不要忘記刪除<h:form>

相關問題