Twitter Bootstrap + Jsf - 重复的组件ID j_idt12:在视图中找到textinput

时间:2013-04-10 15:50:24

标签: java eclipse jsf-2 twitter-bootstrap primefaces

我正在使用JSF 2.0 + Primefaces 3 + Twitter Bootstrap。

       <!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:f="http://java.sun.com/jsf/core"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:p="http://primefaces.prime.com.tr/ui">
    <h:head>
        <f:metadata charset="utf-8"></f:metadata>
        <f:metadata name="viewport"
            content="width=device-width, initial-scale=1.0"></f:metadata>
        <!-- HTML5 shim for IE backwards compatibility -->
        <!--[if lt IE 9]>
          <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
        <title>Starting Page</title>
        <link href="css/bootstrap.css" rel="stylesheet" type="text/css"></link>
        <link href="css/bootstrap-responsive.css" rel="stylesheet"
            type="text/css"></link>
        <link href="css/override.css" rel="stylesheet" type="text/css"></link>
    </h:head>

    <h:body>
        <div class="navbar navbar-inverse navbar-static-top">
            <div class="navbar-inner navbar-large">
                <div class="container">
                    <a class="brand" href="#">CompanyName</a>
                    <ul class="nav">
                        <li><a href="#buy">Link</a></li>
                        <li><a href="#about">Link</a></li>
                    </ul>
                    <h:form class="navbar-form pull-left">
                        <div class="input-append offset1">
                            <h:inputText value="" class="span5"
                                placeholder="put search terms here" type="text" />
                            <button class="btn" type="submit">
                                <i class="icon-search"></i>
                            </button>
                        </div>
                    </h:form>
                    <ul class="nav pull-right">
                        <li class="dropdown"><a class="dropdown-toggle"
                            data-toggle="dropdown" href="#"> How to <b class="caret"></b>
                        </a>
                            <ul class="dropdown-menu">
                                <li class="nav-header">Link</li>
                                <li><a href="#">Link 1</a></li>
                                <li><a href="#">Link 2</a></li>
                                <li><a href="#">Link 3</a></li>
                                <li class="divider"></li>
                                <li class="nav-header">Link</li>
                                <li><a href="#">Link 1</a></li>
                                <li><a href="#">Link 2</a></li>
                                <li><a href="#">Link 3</a></li>
                            </ul></li>
                        <li><a href="#login">Login</a></li>
                        <li><a href="#register">Signup</a></li>
                    </ul>
                </div>
            </div>
        </div>
        <div class="container">
            <div class="well">
                <h:form class="form-horizontal">
                    <fieldset>
                        <!-- Form Name -->
                        <legend>
                            <h3>Create Product</h3>
                        </legend>
                        <!-- Product Name-->
                        <div class="control-group">
                            <label class="control-label">Product Name</label>
                            <div class="controls">
                                <h:inputText id="textinput" name="Product Name"
                                    class="input-xlarge" type="text" />
                            </div>
                        </div>
                        <!-- Categorie-->
                        <div class="control-group">
                            <label class="control-label">Categorie</label>
                            <div class="controls">
                                <h:inputText id="textinput" name="Product Name"
                                    class="input-xlarge" placeholder="Insert Categorie" type="text" />
                            </div>
                        </div>
                        <!-- Textarea -->
                        <div class="control-group">
                            <label class="control-label">Description</label>
                            <div class="controls">
                                <div id="textarea" name="textarea" class="textarea">
                                    <textarea rows="3"></textarea>
                                </div>
                            </div>
                        </div>
                        <!--Price -->
                        <div class="control-group">
                            <label class="control-label">Price</label>
                            <div class="controls">
                                <div class="input-prepend">
                                    <span class="add-on">$$$</span>
                                    <h:inputText id="prependedtext" name="prependedtext"
                                        class="span2" type="number" />
                                </div>
                            </div>
                        </div>
                        <!--Divider -->
                        <hr></hr>
                        <!--Picture Uploader -->
                        <div class="fileupload fileupload-new" data-provides="fileupload">
                            <div class="fileupload-new thumbnail"
                                style="width: 200px; height: 150px;">
                                <img
                                    src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&amp;text=no+image"></img>
                            </div>
                            <div class="fileupload-preview fileupload-exists thumbnail"
                                style="max-width: 200px; max-height: 150px; line-height: 20px;"></div>
                            <div>
                                <span class="btn btn-file"><span class="fileupload-new">Select
                                        image</span> <span class="fileupload-exists">Change</span> <h:inputText
                                        type="file" /> </span> <a href="#" class="btn fileupload-exists"
                                    data-dismiss="fileupload">Remove</a>
                            </div>
                        </div>
                        <!--Divider -->
                        <hr></hr>
                        <div class="form-actions">
                            <button class="btn btn-inverse btn-large">Cancel</button>
                            <button class="btn btn-primary btn-large" type="submit">
                                Next <i class="icon-ok icon-white"></i>
                            </button>
                        </div>
                    </fieldset>
                </h:form>
            </div>
        </div>
        <hr></hr>



</h:body>

<!--Le JavaScript -->

<!--Input Validation -->
<script
    src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<!-- or use local jquery -->
<script src="/js/jqBootstrapValidation.js"></script>
<script>
  $(function () { $("input,select,textarea").not("[type=submit]").jqBootstrapValidation(); } );
</script>

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="js/bootstrap.js"></script>
</html>

但是,当我执行此* .xhtml页面时,我收到错误:

严重:JSF1007:重复的组件ID j_idt12:在视图中找到textinput。

那就是输出:

    10.04.2013 17:47:14 com.sun.faces.util.Util checkIdUniqueness
SCHWERWIEGEND: +id: j_id1
 type: javax.faces.component.UIViewRoot@b53b098
  +id: j_idt1
   type: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  +id: j_idt2
   type: <html xmlns="http://www.w3.org/1999/xhtml">

  +id: j_idt3
   type: javax.faces.component.UIOutput@40591a4d
    +id: j_idt4
     type: 


    <title>Starting Page</title>
    <link href="css/bootstrap.css" rel="stylesheet" type="text/css"/>
    <link href="css/bootstrap-responsive.css" rel="stylesheet" type="text/css"/>
    <link href="css/override.css" rel="stylesheet" type="text/css"/>

  +id: j_idt5
   type: javax.faces.component.UIOutput@19cdd63c
    +id: j_idt6
     type: 
    <div class="navbar navbar-inverse navbar-static-top">
        <div class="navbar-inner navbar-large">
            <div class="container">
                <a class="brand" href="#">CompanyName</a>
                <ul class="nav">
                    <li><a href="#buy">Link</a></li>
                    <li><a href="#about">Link</a></li>
                </ul>

    +id: j_idt7
     type: javax.faces.component.html.HtmlForm@18ac0a60
      +id: j_idt8
       type: 
                    <div class="input-append offset1">

      +id: j_idt9
       type: javax.faces.component.html.HtmlInputText@46dd3147
      +id: j_idt10
       type: 
                        <button class="btn" type="submit">
                            <i class="icon-search"/>
                        </button>
                    </div>

    +id: j_idt11
     type: 
                <ul class="nav pull-right">
                    <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#"> How to <b class="caret"/>
                    </a>
                        <ul class="dropdown-menu">
                            <li class="nav-header">Link</li>
                            <li><a href="#">Link 1</a></li>
                            <li><a href="#">Link 2</a></li>
                            <li><a href="#">Link 3</a></li>
                            <li class="divider"/>
                            <li class="nav-header">Link</li>
                            <li><a href="#">Link 1</a></li>
                            <li><a href="#">Link 2</a></li>
                            <li><a href="#">Link 3</a></li>
                        </ul></li>
                    <li><a href="#login">Login</a></li>
                    <li><a href="#register">Signup</a></li>
                </ul>
            </div>
        </div>
    </div>
    <div class="container">
        <div class="well">

    +id: j_idt12
     type: javax.faces.component.html.HtmlForm@63ce50a9
      +id: j_idt13
       type: 
                <fieldset>

                    <legend>
                        <h3>Create Product</h3>
                    </legend>

                    <div class="control-group">
                        <label class="control-label">Product Name</label>
                        <div class="controls">

      +id: textinput
       type: javax.faces.component.html.HtmlInputText@7e11ba6f
      +id: j_idt14
       type: 
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label">Categorie</label>
                        <div class="controls">

      +id: textinput
       type: javax.faces.component.html.HtmlInputText@3de70e12
      +id: j_idt15
       type: 
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label">Description</label>
                        <div class="controls">
                            <div id="textarea" name="textarea" class="textarea">
                                <textarea rows="3"/>
                            </div>
                        </div>
                    </div>

                    <div class="control-group">
                        <label class="control-label">Price</label>
                        <div class="controls">
                            <div class="input-prepend">
                                <span class="add-on">$$$</span>

      +id: prependedtext
       type: javax.faces.component.html.HtmlInputText@c4cdf7e
      +id: j_idt16
       type: 
                            </div>
                        </div>
                    </div>

                    <hr/>

                    <div class="fileupload fileupload-new" data-provides="fileupload">
                        <div class="fileupload-new thumbnail" style="width: 200px; height: 150px;">
                            <img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&text=no+image"/>
                        </div>
                        <div class="fileupload-preview fileupload-exists thumbnail" style="max-width: 200px; max-height: 150px; line-height: 20px;"/>
                        <div>
                            <span class="btn btn-file"><span class="fileupload-new">Select
                                    image</span> <span class="fileupload-exists">Change</span> 
      +id: j_idt17
       type: javax.faces.component.html.HtmlInputText@1faf67f0
      +id: j_idt18
       type:  </span> <a href="#" class="btn fileupload-exists" data-dismiss="fileupload">Remove</a>
                        </div>
                    </div>

                    <hr/>
                    <div class="form-actions">
                        <button class="btn btn-inverse btn-large">Cancel</button>
                        <button class="btn btn-primary btn-large" type="submit">
                            Next <i class="icon-ok icon-white"/>
                        </button>
                    </div>
                </fieldset>

    +id: j_idt19
     type: 
        </div>
    </div>
    <hr/>



  +id: j_idt20
   type: 




<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"/>

<script src="/js/jqBootstrapValidation.js"/>
<script>
  $(function () { $("input,select,textarea").not("[type=submit]").jqBootstrapValidation(); } );
</script>

<script src="http://code.jquery.com/jquery-latest.js"/>
<script src="js/bootstrap.js"/>
</html>

如何修复此异常?我非常感谢你的回答。

0 个答案:

没有答案