Подтвердить что ты не робот

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

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

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

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

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

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

Снимок экрана: enter image description here

Ответ 3

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

http://www.jboss.org/tools

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

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

Ответ 4

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

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

Просто щелкните правой кнопкой мыши проект и выберите Configure → Add JSF Capabilities.

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

Ответ 5

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

Ответ 6

Убедитесь, что у вас есть пространство имен объектов. Таким образом, ваш тег 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 и праймерах 5.

Ответ 7

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

Ответ 8

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

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

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

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

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

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

Верните проект обратно в новое рабочее пространство.

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

Ответ 9

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

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

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

Ответ 10

Предложение: в eclipse Indigo (классический) и работающий с maven проектами

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

enter image description here

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

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

эта работа работает не так хорошо (остановка контента).