Поверхности JavaServer (JSF) являются платформой образцового предъявителя представления, обычно раньше создавал основанные на HTML-форме веб-приложения. Используя стандартные компоненты и набор рендеринга, режимы просмотра HTML с сохранением информации могут быть определены с помощью тегов Facelets или JSP и соединены проводом к данным модели и прикладной логике через отступающие бобы.
Если Вы захотите хорошие ответы на свои вопросы JSF, то Вы получите его более быстро при непосредственном включении следующей информации в вопрос.
Mojarra или MyFaces? 1.0.x, 1.1.x, 1.2.x, 2.0.x, 2.1.x, 2.2.x или 2.3.x? Можно обычно находить точное имя реализации и версию в журнале запуска веб-приложения или по крайней мере в имени файла JAR, и/или MANIFEST.MF
файл. Также упомяните точную версию любой библиотеки компонента/служебной JSF, вовлеченной в проблему. Если Вы ничего не упомянете, то мы примем последнюю версию, доступную до настоящего времени.
Разница между JSF 1.x и JSF 2.x является слишком большой для сможения, дают надежный ответ, который может касаться обеих версий. Кроме того, каждая из реализаций/библиотек JSF может иметь свой собственный набор определенных для версии ошибок/причуд так, чтобы отвечающая сторона могла, при необходимости, принять это во внимание. В случае, если существует более новая доступная версия, необходимо попытаться обновить и затем повторно протестировать проблему.
Если приложение, кажется, перестало работать тихо, удостоверьтесь, что Вы добавили a <h:messages>
отметьте к своей странице JSF, чтобы избежать, чтобы Вы пропустили любые сообщения поверхностей. Также удостоверьтесь, что Вы установили javax.faces.PROJECT_STAGE
кому: Development
в web.xml
избегать, чтобы Вы пропустили любые предупреждения/подсказки разработки. Также удостоверьтесь, что Вы читали, консоль браузера (нажмите F12 in Chrome/Firefox23 +/IE9 +), и журналы сервера сверху донизу. Исследуйте любую строку, которая представляет предупреждение или ошибку или выглядит в других отношениях аварийной.
Когда Вы получаете исключение, затем всегда включаете самую нижнюю первопричину отслеживания стека наряду со всеми "в" строках (всеми другими причинами там выше являются просто последствия). Исключениями являются обычно превосходные поисковые ключевые слова. Можно просто искать на исключении type+message и дополнительно 1-е "в" строке трассировки без parentheses+linenumber, чтобы видеть, не спрашивают ли это уже и отвечают прежде. Пример 1, пример 2, пример 3.
Попытайтесь изолировать проблему как можно больше в самое маленькое, но завершить copy'n'paste'n'runnable пример. Относительно Java (поддерживающий боб) код, Вы не должны включать импорт и методы считывания/методы set. Вы также не должны включать поля и методы, которые не способствуют фактической проблеме. Относительно XHTML (представление) кодируют, Вы не должны включать теги и атрибуты, которые не способствуют фактической проблеме. Вы также не должны включать целый слой бизнес-услуги (EJB/JPA/Spring/DAO/JDBC/etc), просто hardcoded модель достаточна (иначе, это не обязательно, JSF связал проблему).
Необходимо предположить, что потенциальная отвечающая сторона будет copypaste предоставленный код Java в пустой тестовый класс и автоорганизовывать импорт и автоматически генерировать методы считывания/методы set при необходимости и copypaste предоставленный код XHTML в a <h:body>
из templateless(!) тестируют файл в пустом проекте со всем набор для установки по умолчанию (т.е. никакие или пустые конфигурационные XML-файлы!) и использующий в настоящее время последние версии библиотек/сервера, если явно иначе не упомянуто в самом вопросе (и необходимо также протестировать его сами этот путь заранее!).
Без вышеупомянутой информации и/или надлежащего MCVE, получая ответы будет зависеть больше от удачи (нет никакой неоднозначности, ни шума в вопросе относительно возможных причин), и образованные предположения потенциальных отвечающих сторон (знающий ошибки наиболее распространенного начинающего). Можно иначе рискнуть вопросом, закрываемым как "Вне темы, потому что нет никакого MCVE или существует только полный дамп кода", или "Слишком Широко, потому что он в основном просит, чтобы мы написали код вместо объяснить и решить проблему".
<f:websocket>
используется, JSONP 1.1 требуется также. CDI 1.2 явно требуется из-за @ManagedBean
быть удержавшим от использования.*.jsf
ни с кем необходимым web.xml
конфигурация пока существует a faces-config.xml
.В зависимости от используемого сервера JSF может уже быть встроен (абсолютный Java контейнеры EE, такие как WildFly, JBoss EAP, TomEE, Payara, GlassFish, WebSphere, и т.д.), или не (базовые контейнеры JSP/Servlet, такие как Tomcat, Причал, и т.д.). Если сервер не поставлется со встроенным JSF, то необходимо вручную установить реализацию JSF на выборе (Mojarra или MyFaces). Не забывайте JSTL, те базовые контейнеры JSP/Servlet обычно также даже не поставлются с JSTL.