2011-03-01 13 views
7

Estoy intentando añadir mi espacio de nombres personalizado a <html> elemento de JSF .xhtml archivo (en realidad, este espacio de nombres no es mío, es de Facebook):¿Cómo agregar espacio de nombre personalizado al elemento HTML en JSF?

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" 
    xmlns:fb="http://www.facebook.com/2008/fbml"> 

JSF/Mojarra me da una advertencia:

Warning: This page calls for XML namespace http://www.facebook.com/2008/fbml 
declared with prefix fb but no taglibrary exists for that namespace. 

Entiendo lo que significa, pero ¿cómo resolver el problema?

+0

¿Cómo es exactamente una advertencia? ¿No es su única pregunta cómo suprimir/ocultar esta advertencia? – BalusC

+0

Bueno, la advertencia me dice acerca de un comportamiento incorrecto del software. JSF está intentando cargar 'taglibrary', que no es lo que quiero que haga .. – yegor256

+0

¿Encontró una solución a esto? Determinados navegadores, como Safari, mostrarán un gran cuadro de error rojo si usa la etiqueta fb: login-button (o similar), sin exportar xmlns: fb en el xhtml, pero JSF no exporta espacios de nombres al elemento html. –

Respuesta

1

Puede suprimir la advertencia añadiendo las siguientes líneas en el archivo web.xml de su aplicación:

.. 
     <!-- Debug Output for Development --> 
     <context-param> 
     <param-name>javax.faces.PROJECT_STAGE</param-name> 
     <param-value>Production</param-value> 
     </context-param> 
... 
+0

Bueno, el punto es no suprimir la advertencia, sino instruir a JSF para que no tratar mi espacio de nombres como una 'taglibrary'. – yegor256

0

Hay dos maneras de ir con esto.

  1. eliminar el espacio de nombres si no lo está utilizando
  2. dejó JSF saber sobre el espacio de nombres

Para que JSF que sea necesario la biblioteca adecuada en su ruta de clases que está definiendo el taglibrary (tal vez estás usando facebook.jar o algo?). Deberá incluir esta biblioteca en su archivo .war.

O, si es su propio espacio de nombres, cree un taglibrary file y asegúrese de que esté cargado en el archivo web.xml, de modo que Facelets (espero que esté utilizando Facelets con JSF o JSF 2) cargue la taglibrary y saber el espacio de nombres

Cuestiones relacionadas