Java 为什么这个Icefaces组件不允许我的应用程序工作?
我有一个Java 为什么这个Icefaces组件不允许我的应用程序工作?,java,jsf,icefaces,Java,Jsf,Icefaces,我有一个index.xhtml页面列出了书籍。单击一本书后,它会转到book.xhtml,以显示该书的特定细节。它起作用了。然而,对于我的项目,我打算使用Icefaces。当我添加一个Iceface组件时,ice:panelTabSet,点击索引上的链接到book.xhtml。xhtml将不再重定向到book.xhtml。有人能解释一下吗 index.xhtml <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUB
index.xhtml
页面列出了书籍。单击一本书后,它会转到book.xhtml
,以显示该书的特定细节。它起作用了。然而,对于我的项目,我打算使用Icefaces。当我添加一个Iceface组件时,ice:panelTabSet
,点击索引上的链接到book.xhtml
。xhtml
将不再重定向到book.xhtml
。有人能解释一下吗
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>
<?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>
书店
-
#{书名}
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">
<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>
<?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>
书店
#{书名}
#{book.description}
该
似乎没有指向任何现有页面。您已将其设置为bookDetails
,但目标视图ID为book
(来自book.xhtml
)。你也不需要在这里发布,它只会让搜索机器人无法绘制链接,最终用户无法标记链接
改为使用
,并将其结果设置为book
,而不是bookDetails
不要忘记删除您使用的是Facelets,而不是JSP,因此请不要添加JSP标记。我把它拿走了。