jsf facelets xml-namespaces prefix

jsf - javax.faces.view.facelets.FaceletException: Error Parsing/my.xhtml: error rastreado[línea: 42] El prefijo "f" para el elemento "f: faceta" no está vinculado



xml-namespaces prefix (3)

Incluye taglib. <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

Me gustaría crear una tabla que pueda mostrar datos de la base de datos en la página JSF. Encontré este código:

<h:dataTable value="#{bookStore.items}" var="store"> <h:column> <f:facet name="header"> <h:outputText value="#{msg.storeNameLabel}"/> </f:facet> <h:outputText value="#{store.name}"/> </h:column> <h:column> <f:facet name="header"> Subject </f:facet> <h:outputText value="#{store.subject}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText value="#{msg.storePriceLabel}"/> </f:facet> <h:outputText value="#{store.price}"/> </h:column> </h:dataTable>

Cuando uso este código aparece este mensaje de error en Netbeans:

javax.faces.view.facelets.FaceletException: Error Parsing /my.xhtml: error rastreado [línea: 42] El prefijo "f" para el elemento "f: faceta" no está vinculado

Si reemplazo la etiqueta f con la etiqueta h , ¿funcionará? ¿O tengo que incluir la biblioteca de etiquetas f ?


Reemplazar el f con h no funcionará, ya que no hay h:facet (en el JSF html taglib que probablemente se asigne al prefijo h ). Tendrá que incluir el taglib apropiado (núcleo JSF) y asignarlo al prefijo f .


Debe incluir el taglib correcto para el prefijo f.

Aquí hay un ejemplo para una página JSF 2.2 Facelet:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:f="http://xmlns.jcp.org/jsf/core"> ... </html>

En caso de que todavía esté en JSF 2.0 / 2.1, use el dominio java.sun.com lugar del dominio xmlns.jcp.org en el espacio de nombres XML.

Recomiendo leer un tutorial JSF, puede encontrar enlaces en nuestra página wiki JSF .