我正在尝试使用netbeans中的BootsFaces开发一个jsf Web应用程序。
我的问题是BootsFaces仅适用于index.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://xmlns.jcp.org/jsf/html"
xmlns:b="http://bootsfaces.net/ui"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<meta name="viewport" content="width=device-width, initial-scale=1"></meta>
<title>Facelet</title>
</h:head>
<h:body>
<b:container>
<b:navBar brand="Aim" brandHref="index" inverse="true">
<b:navbarLinks>
<b:navLink value="HOME" href="index.xhtml"></b:navLink>
<b:navLink value="SHOP" href="product.xhtml"></b:navLink>
<b:navLink value="JOIN US" href="#"></b:navLink>
<b:navLink value="TESTIMONIALS" href="#"></b:navLink>
<b:navLink value="BLOG" href="#"></b:navLink>
</b:navbarLinks>
<b:navbarLinks pull="right">
<b:dropMenu value="REGISTER">
<b:navLink value="AS DISTRIBUTOR" href="#"></b:navLink>
<b:navLink value="AS CUSTOMER" href="#"></b:navLink>
</b:dropMenu>
<b:navLink value="LOGIN" href="#"></b:navLink>
<b:navLink value="CART" href="#"></b:navLink>
</b:navbarLinks>
</b:navBar>
</b:container>
</h:body>
</html>
这是我的product.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://xmlns.jcp.org/jsf/html"
xmlns:b="http://bootsfaces.net/ui"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<meta name="viewport" content="width=device-width, initial-scale=1"></meta>
<title>Product</title>
</h:head>
<h:body>
<b:navBar brand="AimTrueWealth" brandHref="index" inverse="true">
<b:navbarLinks>
<b:navLink value="HOME" href="index.xhtml">
</b:navLink>
<b:navLink value="SHOP" href="product.xhtml">
</b:navLink>
<b:navLink value="JOIN US" href="#"></b:navLink>
<b:navLink value="TESTIMONIALS" href="#"></b:navLink>
<b:navLink value="BLOG" href="#"></b:navLink>
</b:navbarLinks>
<b:navbarLinks pull="right">
<b:dropMenu value="REGISTER">
<b:navLink value="AS DISTRIBUTOR" href="#"></b:navLink>
<b:navLink value="AS CUSTOMER" href="#"></b:navLink>
</b:dropMenu>
<b:navLink value="LOGIN" href="#"></b:navLink>
<b:navLink value="CART" href="#"></b:navLink>
</b:navbarLinks>
</b:navBar>
</h:body>
</html>
实际上两个页面上的代码都是一样的,但问题是b:navbar不能在product.xhtml页面上运行。
我希望有人能帮助我。
提前致谢!
此致
Jpabs
答案 0 :(得分:0)
实际上,两个页面都没有问题,至少在我的机器上显示。我想你的问题略有不同。从product.xhtml
页面导航后,index.xhtml
未显示。您可以通过导航到product.jsf
来解决此问题:
<b:navLink value="HOME" href="index.jsf"></b:navLink>
<b:navLink value="SHOP" href="product.jsf"></b:navLink>
如果您遵循默认配置,则JSF页面会链接到以.jsf
结尾的网址。您仍然可以导航到product.xhtml
,但在这种情况下会显示源代码。您的浏览器尝试将该页面解释为XML页面,这通常会导致页面空白。
答案 1 :(得分:0)
我能够通过在bootsfaces 0.7.0中使用action属性来解决我的问题,并且我创建了一个返回页面的托管bean。
谢谢,
jPabs