2011-12-26 8 views
12

Mam problem z jedną stroną JSF. Jest to kod źródłowy:Ostrzeżenie: Ta strona wymaga przestrzeni nazw XML zadeklarowanej z prefiksem [nazwa elementu HTML], ale nie istnieje biblioteka taglibrary dla tej przestrzeni nazw

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns:h="http://java.sun.com/jsf/html"> 
    <head> 
     <title>Login</title> 
     <link rel="stylesheet" type="text/css" href="resources/css/style.css" /> 
     <script src="resources/js/cufon-yui.js" type="text/javascript"></script> 
     <script src="resources/js/ChunkFive_400.font.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
      Cufon.replace('h1',{ textShadow: '1px 1px #fff'}); 
      Cufon.replace('h2',{ textShadow: '1px 1px #fff'}); 
      Cufon.replace('h3',{ textShadow: '0px 1px #000'}); 
      Cufon.replace('.back'); 
     </script> 
    </head> 
    <body> 
     <div class="wrapper"> 
      <div class="content"> 
       <div id="form_wrapper" class="form_wrapper">      
        <h:form class="login active"> 
         <h3><img style="text-align:center" src="resources/images/title.png"/></h3> 
         <div> 
          <label>Username:</label> 
          <h:inputText value="#{loginController.user}" autocomplete="off"/>       
         </div> 
         <div> 
          <label>Password:</label> 
          <h:inputSecret value="#{loginController.password}" autocomplete="off"/>       
         </div> 
         <div class="bottom">  
                 <h:commandButton label="Login" value="Login" action="#{loginController.userCompare}"/> 
          <div class="clear"></div> 
         </div> 
        </h:form>     
       </div> 

          <div id="error_message" style="text-align:center; padding-top:50px; font-style:normal; font-size:20px"> 
           #{loginController.error_Database} 
           #{loginController.error_Message} 
          </div> 

      </div>   
     </div> 
    </body> 
</html> 

Kiedy załadować stronę pojawia się ten komunikat o błędzie na dole na stronie:

Warning: This page calls for XML namespace declared with prefix body but no taglibrary exists for that namespace. 
Warning: This page calls for XML namespace declared with prefix title but no taglibrary exists for that namespace. 
Warning: This page calls for XML namespace declared with prefix link but no taglibrary exists for that namespace. 
Warning: This page calls for XML namespace declared with prefix img but no taglibrary exists for that namespace. 
Warning: This page calls for XML namespace declared with prefix div but no taglibrary exists for that namespace. 
Warning: This page calls for XML namespace declared with prefix div but no taglibrary exists for that namespace. 
Warning: This page calls for XML namespace declared with prefix div but no taglibrary exists for that namespace. 
Warning: This page calls for XML namespace declared with prefix div but no taglibrary exists for that namespace. 
Warning: This page calls for XML namespace declared with prefix div but no taglibrary exists for that namespace. 
Warning: This page calls for XML namespace declared with prefix div but no taglibrary exists for that namespace. 
Warning: This page calls for XML namespace declared with prefix div but no taglibrary exists for that namespace. 
Warning: This page calls for XML namespace declared with prefix div but no taglibrary exists for that namespace. 

Czy możesz dać mi pomysł, jak rozwiązać ten problem? Przypuszczam, że problem tkwi w tagach JSF.

Odpowiedz

27

Spróbuj z tej deklaracji przestrzeni nazw

<?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://java.sun.com/jsf/html"> 
+0

Używałem xmlns: h = "ht tp: //xmlns.jcp.org/jsf/html "i otrzymałem powyższy błąd. Kiedy zmieniłem to na xmlns: h = "http://java.sun.com/jsf/html" to działało! Wala! – dirai

+0

Przestrzenie nazw xmlns.jcp.org/* są nowszymi identyfikatorami URI Java EE 7+, zobacz także https://stackoverflow.com/questions/7593603/jstl-xmlns-namespace-differences-between-jsf-1-2 -and-jsf-2-x – Kawu

8

prostu dodać ten

xmlns = "http://www.w3.org/1999/xhtml

to nie tylko W3C W3, to działa dobrze,

+0

Witam, mam już xmlns = "http://www.w3.org/1999/xhtml" i xmlns: h = "http://java.sun.com/jsf/html "ale wciąż dostaję pewną liczbę tego rodzaju błędu. –

Powiązane problemy