Автозаполнение Eclipse (помощник по содержимому) с помощью facelets (jsf) и xhtml - PullRequest
47 голосов
/ 26 января 2010

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

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

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

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

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

Ответы [ 10 ]

63 голосов
/ 26 января 2010

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

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

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

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

49 голосов
/ 30 августа 2011

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

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

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

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

Скриншот: enter image description here

7 голосов
/ 26 января 2010

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

http://www.jboss.org/tools

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

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

2 голосов
/ 02 сентября 2015

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

Add JSF Capabilities

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

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

1 голос
/ 04 января 2016

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

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

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

1 голос
/ 10 июня 2015

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

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

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

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

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

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

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

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

1 голос
/ 10 марта 2015

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

1 голос
/ 18 июля 2014

Убедитесь, что у вас есть простое имя! Таким образом, ваш 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.

1 голос
/ 26 января 2010

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

0 голосов
/ 23 апреля 2013

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

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

enter image description here

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

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

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

...