система онлайн-бронирования
г. Донецк, Украина, ул. Артёма, 87
+38 (062) 332 33 32, 332-27-71
ЗАБРОНИРОВАТЬ
НОМЕР

Статьи

Досить URL-адреси для JavaServer Faces та Java Application Servers

  1. Рішення open-source / url / # {rewriting} для Servlet, JSF і Java EE PrettyFaces - бібліотека перезапису...
  2. Початок, це просто! (3 кроки)
  3. 1. Включіть у ваш проект PrettyFaces
  4. 2. Створіть метод pretty-config.xml
  5. Додайте зіставлення до своєї конфігурації
  6. 3. Запустіть програму!
  7. Документація (потрібна допомога?)
  8. Що робить PrettyFaces різними:
  9. Чому ні спробуйте PrettyFaces зараз ?.
  10. Питання: Чому мої компоненти Tomahawk / MyFaces або інші додатки третьої сторони розриваються, коли...
  11. Питання: Чому, використовуючи MyFaces, я отримую виняток NullPointerException, коли я намагаюся використовувати...
  12. Q. Чи можна налаштувати PrettyFaces за допомогою анотацій?
  13. Q. Як увімкнути реєстрацію, щоб визначити, що відбувається?
  14. Q. Чи можна відображати та обробляти URL-адреси, які охоплюють динамічне число символів "/"?
  15. Q. Як зберегти об'єкти FacesMessage після виконання переадресації або досить: redirect?
  16. Q. Чи працює PrettyFaces на WebSphere IBM?
  17. Підтримайте нас - Пожертвуйте

Рішення open-source / url / # {rewriting} для Servlet, JSF і Java EE

PrettyFaces - бібліотека перезапису URL-адрес OpenSource з розширеною підтримкою JavaServer Faces - JSF 1.1, 1.2 і 2.0 - дозволяє створювати красиві URL-адреси. PrettyFaces елегантно вирішує проблему "RESTful URL", включаючи такі функції, як: завантаження сторінок, безшовна інтеграція з навігацією по обличчях, динамічне призначення ідентифікатора, керований розбір параметрів і сумісність без конфігурації з іншими веб-фреймворками. Погляньте на функції »

SEO та узгодженість:

Будь-який бізнес знає, наскільки важливою може бути пошукова оптимізація для продажу. PrettyFaces дозволяє SEO-дружніх URL-адрес і поліпшення клієнтського досвіду. Дайте своєму сайту рівномірне, добре зрозуміле почуття, від адресного рядка до кнопки покупки.

Початок, це просто! (3 кроки)

Рекомендується, але не потрібно видаляти інші інструменти перезапису URL-адрес з вашої програми перед використанням PrettyFaces та / або [[Rewrite]]. Якщо ви вирішите залишити їх на місці, з вами можуть трапитися дивні речі.

Приєднуйтесь до нас у #ocpsoft - наш канал на irc.freenode.net. Окрім того, запрошуємо Вас відвідати зустріч, кожну [[Календар | понеділок о 1:00 EST]]. Також, будь ласка, приєднуйтесь до дискусії на нашому список розсилки електронної пошти .

1. Включіть у ваш проект PrettyFaces

Ви можете або використовувати Maven (рекомендовано), щоб включити у ваш проект PrettyFaces, або ви можете завантажити файл ZIP з розподілом безпосередньо.

Якщо ви оновлюєтеся з PrettyFaces 3.x, зауважте, що вся функціональність є зворотно сумісною, але ви можете переглянути міграційний посібник щоб дізнатися про нові функції, доступні в останніх випусках. <! - для JSF 2.x -> <залежність> <groupId> org.ocpsoft.rewrite </groupId> <artifactId> перезапису-сервлет </artifactId> <версія> 3.4.1.Фінальна </version> < / dependency> <залежність> <groupId> org.ocpsoft.rewrite </groupId> <artifactId> rewrite-config-prettyfaces </artifactId> <версія> 3.4.1.Завершення </version> </dependency> (якщо ви використовуєте стару версію JSF, ви захочете використовувати Залежність JSF 1.x від попередньої версії PrettyFaces: ) <! - для JSF 1.2.x (так, ми знаємо, що номер версії є заплутаним. вибачте!) -> <залежність> <groupId> com.ocpsoft </groupId> <artifactId> prettyfaces-jsf12 </artifactId> <version> 3.3.3 </version> </dependency>

2. Створіть метод pretty-config.xml

Тут ви можете створити відображення URL-адрес між зовнішніми шаблонами URL-адрес і внутрішніми файлами перегляду, сервлетами та іншими ресурсами. Не забудьте замінити відображення нижче на відображення, яке відповідає вашій програмі.

/WEB-INF/pretty-config.xml <pretty-config xmlns = "http://ocpsoft.org/schema/rewrite-config-prettyfaces" xmlns: xsi = "http://www.w3.org/2001/ Екземпляр XMLSchema "xsi: schemaLocation =" http://ocpsoft.org/schema/rewrite-config-prettyfaces http://ocpsoft.org/xml/ns/prettyfaces/rewrite-config-prettyfaces.xsd "> <url- mapping id = "login"> <шаблон значення = "/ login" /> <view-id value = "/ legacy / user / login.jsp" /> </url-mapping> </pretty-config>

Додайте зіставлення до своєї конфігурації

Ця частина залежить від вас! Потрібно з'ясувати, які URL-адреси у вашій програмі потрібно «prettify», - тому ознайомтеся з документацією [PrettyFaces Docs]], щоб дізнатися, як повністю використовувати систему відображення URL-адрес PrettyFaces.

Крім того, обов'язково перевірте Перепишіть приклади або довідковий посібник щоб дізнатися більше про [[Rewrite]], і про потужні опції, які він пропонує за межами конфігураційного модуля PrettyFaces.

<url-mapping id = "view-user"> <шаблон значення = "/ user / # {ім'я користувача}" /> <view-id value = "/ user / view.xhtml" /> </url-mapping> < ! - Карти "/ user / # {username}" до URL-адреси "/user/view.xhtml?username=value" ->

3. Запустіть програму!

Тепер ви повинні бути готові до роботи! Встановлено PrettyFaces і створено перше URL-відображення. Якщо все було зроблено правильно, ви побачите журнал PrettyFaces, який підтверджує успішне встановлення. ІНФОРМАЦІЯ [org.ocpsoft.rewrite.servlet.RewriteFilter] Починаючи перезапис фільтра ... ... INFO [org.ocpsoft.rewrite.servlet.RewriteFilter] Завантажено [] org.ocpsoft.rewrite.config.ConfigurationProvider [org.ocpsoft. rewrite.prettyfaces.PrettyFacesRewriteConfigurationProvider <1>] INFO [org.ocpsoft.rewrite.servlet.RewriteFilter] RewriteFilter ініціалізовано.

Документація (потрібна допомога?)

Задайте питання в форумах , перегляньте документації , FAQ або отримайте джерело !


  1. Переписування URL-адрес - Замінити потворні URL-адреси: "/faces/page.jsf" з привабливими для користувача URL-адресами: "/ optimized / page /"; Клієнтський браузер ніколи не бачить ваші вихідні URL-адреси, навіть у вихідному HTML-коді
  2. Ідентифікатори динамічного подання - тепер з відображенням ідентифікатора динамічного перегляду для URL-адрес (через вирази методу El) ви можете показувати різні види на основі умов виконання, ефективно від'єднавши URL від перегляду JSF.
  3. Дії з завантаженням сторінок - виклик одного або декількох методів дій на одній або декількох етапах, перш ніж відображати вигляд.
  4. Розбір керованих параметрів - параметри HTTP, розібрані з URL-адрес, зберігаються в керованих компонентах, просто отримайте посилання на ваш параметр для легкого доступу з інших класів Java.
  5. Навігація за ідентифікатором - Визначте ідентифікатори сторінок в одному місці, легко посилайтеся на них у методах дій та компонентах, використовуючи стандартні методи навігації JSF.
  6. Інтегрована перевірка - для URL-адрес і параметрів запитів, здатних повторно використовувати існуючі об'єкти перевірки JSF.
  7. Легко налаштувати - вимагає абсолютно мінімальної конфігурації; може бути ввімкнено за допомогою XML або анотацій.

Що робить PrettyFaces різними:

Переглянути презентацію слайдшоу чому переписування URL-адрес є важливим або короткий огляд Проблеми PrettyFaces вирішує .

Чому ні спробуйте PrettyFaces зараз ?.

  1. Q. Чи можу я використовувати PrettyFaces для обробки перезапису URL-адрес для інших ресурсів на моєму сервері?

    A. Так. PrettyFaces все ще потребує налаштованого екземпляра JSF для функціонування, але його можна використовувати для зіставлення URL-адреси з будь-яким ресурсом у контейнері Servlet - без виклику FacesServlet. Значення будуть вводитися в JSF-квасолі, як звичайно, але методи дії PrettyFaces не запускатимуться (оскільки жодний життєвий цикл JSF не виконується для не-Faces-запитів).

    Наприклад:

    <pretty-config xmlns = "http://ocpsoft.org/schema/rewrite-config-prettyfaces" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation = "http : //ocpsoft.org/schema/rewrite-config-prettyfaces http://ocpsoft.org/xml/ns/prettyfaces/rewrite-config-prettyfaces.xsd "> <url-mapping id =" login "> <значення шаблону = "/ login" /> <view-id value = "/ legacy / user / login.jsp" /> <! - Ідентифікатор не JSF -> </url-mapping> <url-mapping id = "register "> <шаблон значення =" / register "/> <view-id value =" / faces / user / register.jsf "/> <! - Id Перегляд JSF -> </url-mapping> </ pretty- config>
  2. Питання: Чому мої компоненти Tomahawk / MyFaces або інші додатки третьої сторони розриваються, коли я використовую PrettyFaces?

    Оскільки PrettyFaces перехоплює відображені HttpRequests, то перенаправляє ці запити до JSF, необхідно включити будь-які додаткові фільтри між PrettyFaces і JSF для прослуховування Servlet Forwards. Це робиться в дескрипторі розгортання web.xml шляхом додавання наступних елементів диспетчера до будь-яких необхідних фільтрів:

    Наприклад:

    <filter-mapping> <ім'я фільтра> springSecurityFilterChain </filter-name> <url-pattern> / * </url-pattern> <dispatcher> FORWARD </dispatcher> <dispatcher> REQUEST </dispatcher> </ filter- відображення>
  3. Питання: Чому, використовуючи MyFaces, я отримую виняток NullPointerException, коли я намагаюся використовувати звичайні лицарі-навігації?

    Деякі версії MyFaces не повністю відповідають специфікації JSF, тому ViewRoot є нульовим, коли запит обробляється. Є патч / обхідний шлях , які можна додати, щоб усунути цю проблему. Ви повинні додати цей ViewHandler до вашого face-config.xml.

  4. Q. Чи можна налаштувати PrettyFaces за допомогою анотацій?

    A. Так! Завдяки Christian Kapolteth, PrettyFaces має підтримку анотацій від версії 3.0.2-SNAPSHOT

  5. Q. Як увімкнути реєстрацію, щоб визначити, що відбувається?

    A. Створіть або оновіть файл log4j.properties із такими значеннями:

    ### прямі повідомлення журналу до stdout ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern =% d {ABSOLUTE}% 5p% c {1}:% L -% m% n log4j.rootLogger = попереджати, stdout ### Вхід для OCPsoft log4j.logger.com.ocpsoft = info

  6. Q. Чи можна відображати та обробляти URL-адреси, які охоплюють динамічне число символів "/"?

    A. Так, будь ласка, прочитайте розділ 3.4 документів.

  7. Q. Як зберегти об'єкти FacesMessage після виконання переадресації або досить: redirect?

    A. Необхідно налаштувати додатковий MultiPageMessagesSupport PhaseListener (або щось подібне)

    <? xml version = '1.0' encoding = 'UTF-8'?> <face-config xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http: // www .w3.org / 2001 / XMLSchema-instance "xsi: schemaLocation =" http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0 .xsd "version =" 1.2 "> <lifecycle> <phase-listener> com.ocpsoft.pretty.application.MultiPageMessagesSupport </phase-listener> </lifecycle> </faces-config> Див. Ця стаття для повного пояснення того, як це працює.

  8. Q. Чи працює PrettyFaces на WebSphere IBM?

    Відповідь: Так, але для того, щоб вести себе як розсудливий сервер, websphere вимагає спеціальних налаштувань. Відповідь: Так, але для того, щоб вести себе як розсудливий сервер, websphere вимагає спеціальних налаштувань


Підтримайте нас - Пожертвуйте

Ми вітаємо пожертвування продовжувати надавати житло проектам з відкритим кодом OCPsoft. Або, якщо вам подобається цей проект, ви можете стати живиться від PrettyFaces . Усі пожертви йдуть безпосередньо для компенсації наших витрат на веб-хостинг.

Чи можна налаштувати PrettyFaces за допомогою анотацій?
Як увімкнути реєстрацію, щоб визначити, що відбувається?
Чи можна відображати та обробляти URL-адреси, які охоплюють динамічне число символів "/"?
Як зберегти об'єкти FacesMessage після виконання переадресації або досить: redirect?
Чи працює PrettyFaces на WebSphere IBM?
Xhtml?
Потрібна допомога?
Чому ні спробуйте PrettyFaces зараз ?
Чи можу я використовувати PrettyFaces для обробки перезапису URL-адрес для інших ресурсів на моєму сервері?
Чи можна налаштувати PrettyFaces за допомогою анотацій?

Новости

Отель «Централь» Официальный сайт 83001, Украина, г. Донецк, ул. Артема, 87
Тел.: +38 062 332-33-32, 332-27-71
[email protected]
TravelLine: Аналитика


Студия web-дизайна Stoff.in © 2008