我有一个列出书籍的index.xhtml
页面。单击一本书后,它会转到book.xhtml
以显示该书的特定详细信息。有用。但是对于我的项目,我的意思是使用Icefaces。当我添加Iceface组件ice:panelTabSet
时,book.xhtml
点击index.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>
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 :(得分:1)
<h:commandLink>
似乎没有指向任何现有页面。您已将其设置为bookDetails
,但目标视图ID为book
(来自book.xhtml
)。你也不需要在这里发布POST,它只会使搜索机器人无法抓取这些链接,并且最终用户无法进行指定。
改为使用<h:link>
并将其outcome
设置为book
而不是bookDetails
。
<h:link value="#{book.title}" outcome="book">
<f:param name="id" value="#{book.id}" />
</h:link>
不要忘记删除<h:form>
。