0

我正在尝试在 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

4

2 回答 2

0

我能够通过在 bootsfaces 0.7.0 中使用 action 属性来解决我的问题,并且我创建了一个返回页面的托管 bean。

谢谢,

jPabs

于 2015-12-14T07:08:28.480 回答
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 页面将链接到以 . 结尾的 URL .jsf。您仍然可以导航到product.xhtml,但在这种情况下会显示源代码。您的浏览器会尝试将该页面解释为 XML 页面,这通常会导致出现空白页面。

于 2015-12-13T16:25:58.943 回答