Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
jsf-ru:quickstart:hello_world [2006/01/15 16:46] – исправлена ссылка на статью про JBoss slonopotamus | jsf-ru:quickstart:hello_world [2006/01/16 21:24] – slonopotamus |
---|
* [[http://myfaces.apache.org/|Apache MyFaces]] | * [[http://myfaces.apache.org/|Apache MyFaces]] |
Я работаю с первой, поэтому советую вам сделать то же. Иначе я просто не смогу вам помочь, если будут появляться какие-то ошибки, связанные с конкретной реализацией JSF. | Я работаю с первой, поэтому советую вам сделать то же. Иначе я просто не смогу вам помочь, если будут появляться какие-то ошибки, связанные с конкретной реализацией JSF. |
| * JSTL((Вроде бы.)) |
* Прямые руки | * Прямые руки |
| |
| |
===== Рецепт ===== | ===== Рецепт ===== |
- Крайне необходимо запретить прямой доступ к JSP(X)-страницам. Т.к. если к ним обратиться напрямую (через из собственное расширение ''.jsp(x)'', а не через сервлет (расширение ''.jsf''), то всё будет плохо. Это сделано с помощью ''security-constraint'''а, которому не даны никакие роли. | - Крайне необходимо запретить прямой доступ к JSP(X)-страницам. Т.к. если к ним обратиться напрямую (через из собственное расширение ''.jsp(x)'', а не через сервлет (расширение ''.jsf''), то всё будет плохо. Это сделано с помощью ''security-constraint'''а, которому не даны никакие роли. |
- **ВНИМАНИЕ!** Совершенно необходимо не забыть добавить листенера, иначе ничего работать не будет. Самое гнусное, что это нигде не написано, поэтому все начинающие JSF-писатели тратят кучу времени на попытки выяснить, почему у них ничего не работает. | - **ВНИМАНИЕ!** Совершенно необходимо не забыть добавить листенера, иначе ничего работать не будет. Самое гнусное, что это нигде не написано, поэтому все начинающие JSF-писатели тратят кучу времени на попытки выяснить, почему у них ничего не работает. |
- Если вы решили использовать MyFaces, то вам понадобится убрать все настройки, начинающиеся на ''com.sun'' (они действительны только для Sun'овской реализации JSF) и изменить листенера на //какой-то другой// FIXME. | - Если вы решили использовать MyFaces, то вам понадобится убрать все настройки, начинающиеся на ''com.sun'' (они действительны только для Sun'овской реализации JSF) и изменить листенера на ''org.apache.myfaces.webapp.StartupServletContextListener''. |
| - Отредактируйте файл ''faces-config.xml'' и добавьте в него следующее содержимое:<code xml> |
| <?xml version='1.0' encoding='UTF-8'?> |
| <!DOCTYPE faces-config PUBLIC |
| "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" |
| "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"> |
| <faces-config> |
| </faces-config> |
| </code> Это основной конфиг для JSF-приложений. В нём пока ничего нет, но он понадобится для последующих примеров. |
- Отредактируйте файл ''index.jspx'' и добавьте в него следующее содержимое:<code xml> | - Отредактируйте файл ''index.jspx'' и добавьте в него следующее содержимое:<code xml> |
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> |
- И наконец, ''<h:outputText>'' выводит текст. Этот тег гораздо более функционален, чем просто вывод текста, но о его остальной функциональности вы узнаете потом. | - И наконец, ''<h:outputText>'' выводит текст. Этот тег гораздо более функционален, чем просто вывод текста, но о его остальной функциональности вы узнаете потом. |
| |
FIXME Дать ссылку на war-архив с конечным результатом. | ===== Результат ===== |
| {{hello_world.war|Конечный WAR-файл}} (для JBoss'а, нужно просто положить в папку ''deploy'' и любоваться результатом по ссылке [[http://localhost:8080/hello_world/index.jsf]]) |