2017-07-17 4 views
-1

Récemment, j'ai ajouté le code de portée diferent pour mieux performace le cycle de vie jsf. A une erreur lors de l'exécution de la page acess jsf. Qu'est-il arrivé?Erreur JSF Le préfixe "t" pour l'élément "t: document" n'est pas lié. Utilisez org.apache.myfaces

fichier Web.xml:

<context-param> 
    <param-name>org.apache.myfaces.ADD_RESOURCE_CLASS</param-name> 
    <param-value>org.apache.myfaces.component.html.util.StreamingAddResource</param-value> 
</context-param> 

JSF (xhtml) Fichier:

<?xml version='1.0' encoding='UTF-8' ?> 
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich" 
    xmlns:p="http://primefaces.org/ui" xmlns:tjfw="http://tjfw.tjba.jus.br/tjfw/jsf/components/ui" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    template="/WEB-INF/templates/main.xhtml"> 

<ui:define name="contents" 
<f:view> 
     <t:document> 
     <t:documentHead> 
     ... 
     <title>example</title> 
     ... 
     </t:documentHead> 
     <t:documentBody> 
     ... 
     </t:documentBody> 
     </t:document> 
    </f:view> 

</ui:define> 
</ui:composition> 

erreur Console:

09:40:39,476 FATAL [org.jboss.seam.faces.view.SeamViewMetadata] Error Parsing /resources/pages/objectPearson/pearson.xhtml: Error Traced[line: 188] The prefix "t" for element "t:document" is not bound. 
+2

Vous n'avez pas le 't' déclarer espace de noms (il n'y a pas' xmlns: t = "..." 'dans votre JSF). Vous devez déclarer ceci en utilisant l'URI de l'espace de noms approprié. – Jesper

+0

Parce que j'ai reçu des commentaires négatifs sur cette question? –

+0

Je ne sais pas pourquoi les gens votent votre question. Mais vous feriez mieux de vous habituer à cela si vous posez des questions sur StackOverflow - ce n'est souvent pas un endroit convivial pour les personnes qui posent des questions ... – Jesper

Répondre

4

Selon des @Jesper

Vous essayez d'acces une bibliothèque que vous ne déclariez où trouvé.

Ce 't' est un espace de noms que vous n'avez pas supprimé.

Exemple: Ici vous utilisez <f:view> et ce « f » est un espace de noms pour cette URL:

xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" 

Vous utilisez un espace de noms non défini, consultez l'URL de cet espace de noms « t »

Essayez ceci:

xmlns:t="http://myfaces.apache.org/tomahawk" 
+0

Merci! ça marche maintenant. –

0

Je pense que si vous ne pas inclure la bibliothèque et le préfixe assigné (xmlns: t), vous ne pouvez pas l'utiliser.