用于JSF应用程序的BootsFaces

时间:2015-12-13 05:37:42

标签: java netbeans bootsfaces

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

2 个答案:

答案 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