Автозаполнение Eclipse (помощник по содержимому) с помощью facelets (jsf) и xhtml

Как активировать поддержку содержимого eclipse (3.5, WTP) на страницах.xhtml для тегов JSF (1.2) с использованием лицевых панелей? Он работает в файлах.jsp, но не в формате xhtml.

Я много гуглю, и во многих местах (включая вики MyFaces) сказано - "Eclipse не может работать с xhtml и facelets"

Так как это работает с файлами.jsp, я предполагаю, что может быть какой-то механизм, с помощью которого можно активировать эту вспомогательную информацию.

Я начал работать над проектом, который уже имеет большую кодовую базу, поэтому изменение расширений не вариант. Дополнительные плагины также нежелательны, но приемлемы, если ничего не работает.

(Я задаю вопрос, чтобы убедиться, что кто-то не нашел остроумного решения этой проблемы - иначе я знаю, что это невозможно)

10 ответов

Решение

Довольно быстро нашел решение после того, как задал вопрос (и через час после того, как я попытался его решить):

Window > Preferences > General > Content Types > Text > JSP > Add (xhtml)

Делает файлы обрабатываться как JSP. Таким образом, когда они открываются с помощью редактора JSP, автозаполнение любой библиотеки тегов, которая имеет свои определения в .tld формат (<h: а также <f например) работает. Facelets и теги только для facelets по-прежнему не работают. Их .tld эквиваленты должны быть добавлены где-то в проектах. TL Facelet можно найти здесь.

Другое, немного более сложное решение описано здесь.

В Eclipse Indigo (3.7) добавление *.xhtml в качестве jsp не работает.

Добавление фасета проекта решает проблему:

Щелкните правой кнопкой мыши по проекту -> Настройки -> Фасеты проекта -> Нажмите "JavaServer Faces", версия, скорее всего, должна быть 2.0.

Затем он запрашивает библиотеку, вы можете нажать "отключить...", потому что, скорее всего, вы уже настроили банки. У меня нет моей библиотеки, поэтому я проигнорировал эту часть.

Скриншот:

Используйте JBoss Tools, это то, что я использую для своих проектов JSF+Facelets. Это лучшее, что вы можете получить, если вам нужно работать с этой технологией.

http://www.jboss.org/tools

Я рекомендую использовать последнюю версию кандидата, которая является CR1, так как она совместима с Eclipse 3.5, финальная версия должна скоро выйти, но CR1 является надежной.

http://in.relation.to/Bloggers/JBossTools31CR1Released

Я установил JBoss Tools и настроил фасет JavaServer Faces для моего проекта (в Eclipse Mars), но мне все равно не помогал контент из моих файлов .xhtml. Решение, не упомянутое здесь, состоит в том, чтобы выбрать Добавить возможности JSF:

Добавить возможности JSF

Просто щелкните правой кнопкой мыши проект и выберите " Настроить" -> " Добавить возможности JSF".

Это выглядело бы как на картинке выше, но там было бы " Добавить возможности JSF" вместо " Удалить возможности JSF". На картинке выше я уже добавил возможности JSF.

Если вы уже установили JBoss Tools и по-прежнему имеете эту проблему, удалите JBoss Tools. Перезапустите затмение. Убедитесь, что в списке установленных компонентов нет инструментов JBoss.

Теперь вернемся к рынку затмения.

Установите только: JBoss JSF, JBoss Richfaces и JBoss Visual Page Editor из набора инструментов JBoss. Не загружайте весь пакет с более чем 30 инструментами. Это раздутый пакет, который замедлит затмение и лишний раздувает ваш экземпляр затмения.

Включите фасет JSF с помощью последней библиотеки реализации JSF. Я бы порекомендовал вам напрямую скачать эту банку с официального сайта JSF.

Закрыть затмение.

Откройте затмение и создайте новое рабочее пространство.

Импортируйте проект обратно в новое рабочее пространство.

Это сработало для меня!

Убедитесь, что у вас есть простое имя! Таким образом, ваш HTML-тег может выглядеть следующим образом:

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">

Я использовал в Eclipse Luna и Primefaces 5.

Я установил JBoss Tool для целей кодирования JSF. Но в *.XHTML он не отображал справку по содержимому для ManagedBean.. поэтому я сделал следующие шаги, которые работают для меня.

Для моего проекта эти шаги работали.

1) Щелкните правой кнопкой мыши по проекту -> Настроить -> Добавить возможности JSF. Пошаговая процедура(Vailaaa!!! Решение проблем). Перейдите в файл Xhtml и попробуйте код #{m^anagedBeans.HelloJSF()} где (^) это системный символ, вам просто нужно, чтобы "Ctrl+ пробел" работал Content Assist. Вот

Вы думали о MyEclipse? Это не бесплатно, но это довольно хороший инструмент. Это очень помогло, когда я разработал с JSF.

Если ничего не работает, вы должны перейти в "Настройки" -> "Основные" -> "Ключи", затем искать "помощник по содержимому", если существует только один "помощник по содержанию", когда "" Редактирование источника Java "существует", скопируйте эту команду. И установите привязку к ctrl+пробел и когда "Редактирование JSP Source".

Предложение: в затмении Индиго(классика) и работе с Maven проектами

как изображение, которое вы можете увидеть ниже, не могу найти Project Facets выбор, который @mist предложил (потому что я не установил никаких плагинов, но m2e Похоже).

Итак, я сделал это, чтобы решить эту проблему:

Window >> Preference >> General >> Content Types >> XML >> Add file association (*.xhtml)

эта работа не очень хорошо (прекращение контента).

Другие вопросы по тегам