2016-09-30 2 views
-1

Я использую NetBeans для написания веб-приложения с каркасом JavaServerFaces. Файл my faces-config xml содержит ссылку навигации, которую я использую, чтобы вернуться на главную страницу. Домашняя страница содержит слайд-шоу и раскрывающееся поле со списком, которое при выборе из него переходит на другую страницу. На этой странице есть ссылка, которая возвращает меня на главную страницу. Все это прекрасно, если только я не перехожу полностью другая страница и нажмите на ссылку, чтобы вернуться на главную страницу, поле со списком, когда используются бросками ошибки, и я получаю страшныйКак исправить сломанную страницу в приложении JSF

java.lang.IllegalStateException: Компонент >> [email protected] не ожидается тип. Ожидается: >>> javax.faces.component.UIForm. Возможно, вам не хватает тега?

ошибка. Также все мои страницы завернуты в тег f: view. Может ли кто-нибудь предложить исправить это? Спасибо за любую помощь. Мой дом JSP Страница:

 <title>Quotes</title> 
    </head> 
    <body> 
     <h1>Quote Home Page</h1> 

      <h:form> 
      <h:commandLink action="#{QuoteMB.createSetup}" value="Add New Quote"/> 
      </h:form> 
      <h:form> 
       <h:commandLink action="#{Login.logout}" value="Log Out" /> 
      </h:form> 
     </div> 
     <FORM ACTION="quoteview.jsp" METHOD="POST" > 
      <div style="text-align:center"> 
       <h3>Please select the quote you want to display:</h3> 
       <BR> 


       <% 
        int count = 0; 
        int i = 0; 
        int reversecount = 0; 
        int originalcount = 0; 
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/babylon", "root", "sequence"); 

        Statement statement = connection.createStatement(); 
        //import java.util.HashMap; 
        ResultSet resultset = statement.executeQuery("SELECT quotetext FROM quote"); 
        java.util.HashMap <Integer,String> nametoValueMap = new java.util.HashMap <Integer,String>(); 
        if (!resultset.next()) { 
         out.println("Sorry, no records found. "); 
        } else { 
         int j=0; 
         resultset.previous(); 
         while(resultset.next()){ 

         j++; 
          String qt=resultset.getString(1); 
         int len=0; 
         len=qt.indexOf("\n"); 
         if(len==-1)len=30; 
         if(len>30)len=30; 
         System.out.println("search length= "+len); 
          qt=qt.substring(0,len); 
         qt=qt.replace("'", "''"); 
         System.out.println("final qt= "+qt); 
          nametoValueMap.put(j,qt); 
         System.out.println("Putting j "+j+" with "+qt); 
         } 
         count = j; 
         originalcount = count; 

         System.out.println("originalcount= "+originalcount); 
         out.print("<select name=\"id\">"); 

         while (count != 0) { 
          String text=nametoValueMap.get(reversecount); 
          System.out.println("Text = "+text+" reversecount= "+reversecount); 
          reversecount = originalcount - (count - 1); 
          //out.print("<option><column>" + reversecount + "</column></option>"); // where column1 is the column in the database table 
          out.print("<option><column>" + nametoValueMap.get(reversecount) + "</column></option>"); 
          count--; 
         } 
         out.print("</select>"); 
        } 

         resultset.close(); 
         statement.close(); 
         connection.close(); 

       %> 
       <INPUT TYPE="SUBMIT" value="Go" class="input"> 
      </div> 
     </FORM> 
     <br/> 
     <div style="text-align:center"> 
      <a href="javascript:gotoshow()"><img src="Shakespeare2.jpg" name="slide" id="borderimg1" ></a> 
     </div> 
     <br/> 
</html> 

Это правило навигации: <navigation-rule> <navigation-case> <from-outcome>welcome</from-outcome> <to-view-id>/quote.jsp</to-view-id> </navigation-case> </navigation-rule> Это показывает ссылки на страницу, которая показывает, когда выбор сделан из выпадающего списка на домашней странице: ` Цитата Посмотреть

  <h:commandLink action="#{QuoteMB.listSetup}" value="Show Quotes"/> 
      <br> 
      <h:commandLink value="Home" action="welcome" immediate="true" /> 

     </h:form> 

`

+0

Пожалуйста, предоставьте [mcve] –

+0

Пожалуйста, проверьте свой код ... этот ДОЛЖЕН быть очевидным ... Начните с хорошего отступа, и вы найдете его очень быстро .... – Kukeltje

+0

Kukeltje-Мне очень жаль, но я просто не вижу, что вам очевидно. Вы можете объяснить? – Reggie

ответ

0

Кажется, что мои файлы JSP должны находиться в папке страниц, а также в папке Web. Это странно для меня, но когда я скопировал файлы в обе папки, проблема была исправлена. Прошу прощения за это. Спасибо за любую помощь.