Nano Hash - криптовалюты, майнинг, программирование

javax.faces.view.facelets.FaceletException: синтаксический анализ ошибки /my.xhtml: трассировка ошибки [строка: 42] Префикс f для элемента f:facet не привязан

Я хотел бы создать таблицу, которая может отображать данные из базы данных на странице JSF. Я нашел этот код:

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

Когда я использую этот код, я получаю это сообщение об ошибке в Netbeans:

javax.faces.view.facelets.FaceletException: синтаксический анализ ошибки /my.xhtml: трассировка ошибки [строка: 42] Префикс "f" для элемента "f:facet" не привязан

Если я заменю тег f на тег h, это сработает? Или мне нужно включить библиотеку тегов f?


Ответы:


1

Вы должны включить правильный taglib для префикса f.

Вот пример страницы Facelet JSF 2.2:

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

Если вы все еще используете JSF 2.0/2.1, используйте домен java.sun.com вместо домена xmlns.jcp.org в пространстве имен XML.

Я рекомендую прочитать учебник по JSF, вы можете найти ссылки на нашей вики-странице JSF.

08.03.2012

2

Замена f на h не сработает, так как нет h:facet (в html-теге JSF, которому, вероятно, будет присвоен префикс h). Вам нужно будет включить соответствующую taglib (ядро JSF) и присвоить ей префикс f.

08.03.2012

3

Включите taglib. <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

08.03.2012
  • Кажется, это не способ jsf сделать это 21.01.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..