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 .