2011-12-26 15 views
12

Tengo un problema con una página JSF. Este es el código fuente:Advertencia: Esta página requiere espacio de nombres XML declarado con prefijo [nombre de elemento HTML] pero no existe taglibrary para ese espacio de nombres

<!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> 

Cuando me carga la página aparece este mensaje de error en la parte inferior de la página:

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. 

¿Me puede dar idea de cómo solucionar el problema? Supongo que el problema está en las etiquetas JSF.

Respuesta

27

intento con esta declaración de espacio de nombres

<?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

Estaba usando xmlns: h = "ht tp: //xmlns.jcp.org/jsf/html "y obtuve el error anterior. Cuando cambié eso a xmlns: h = "http://java.sun.com/jsf/html" ¡Funcionó! Wala! – dirai

+0

Los espacios de nombres "xmlns.jcp.org/*" son los más recientes, URI de Java EE 7+, también se pueden ver en https://stackoverflow.com/questions/7593603/jstl-xmlns-namespace-differences-between-jsf-1-2 -y-jsf-2-x – Kawu

8

sólo tiene que añadir este

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

es no W3C solo W3, funciona muy bien,

+0

Hola, ya tengo xmlns = "http://www.w3.org/1999/xhtml" y xmlns: h = "http://java.sun.com/jsf/html "pero todavía recibo un número de este tipo de error". –

Cuestiones relacionadas