Как создать удобные для пользователя и благоприятные для SEO URL в jsf?

Например, у меня есть класс Статья с методами getTitle () и getContent ().

У меня также есть ArticlesService с методом getAllArticles (). Как создать список ссылок с понятными именами (сформированный с #{article.title})? Как:

http://mysiteaddress.com/article/first-article-title
http://mysiteaddress.com/article/how-to-make-links-in-jsf

.. или что-то подобное.

Я могу создать ссылки со всей необходимой функциональностью с <h:commandLink>, но я не знаю, как сделать хороший 'href' для него: это всегда имеет href '# '.

Я могу создать хорошие ссылки с <h:outputLink> но я не знаю, как добавить необходимую функциональность к нему.


В jsp я создал свой собственный фронтальный контроллер, который проанализировал URL от запросов и затем выполнил перенаправление к соответствующей jsp-странице.

Как достигнуть той же функциональности в JSF?

8
задан Roman 17 December 2009 в 11:47
поделиться

2 ответа

Если это предназначено для улучшения существующего приложения, то вам в основном понадобится Фильтр , который обнаруживает «грязные» и «дружественные» URL-адреса. Когда он обнаруживает «грязный» URL, он должен перенаправить запрос на «дружественный» URL с помощью HttpServletResponse # sendRedirect () . Когда он обнаруживает «дружественный» URL, он должен перенаправить запрос на «грязный» URL с помощью RequestDispatcher # forward () . Пример можно найти в этом связанном вопросе: Как использовать фильтр сервлетов в Java для изменения URL-адреса входящего запроса сервлета?

Кроме того, вам также понадобится пользовательский ViewHandler для создания желаемого "удобный" URL для JSF , и т. Д. Пример можно найти здесь: Динамический каталог в веб-приложении Java EE .

Если это новое приложение или приложение, которое открыто для изменений, вы можете рассмотреть любое из существующие красивые библиотеки URL вместо того, чтобы изобретать колесо:

  • PrettyFaces , который представляет собой полное решение для перезаписи URL. Для этого требуется дополнительный файл конфигурации XML pretty-config.xml . Эта библиотека полезна, если вы хотите полностью изменить URL-адреса и / или хотите настроить перенаправление со старых URL-адресов на новые.
  • FacesViews из Библиотека OmniFaces , которая делает существующие URL-адреса просто без расширений за счет одного web.xml параметр контекста. Он также поддерживает «MultiViews», посредством чего параметры пути могут декларативно вводиться в управляемые компоненты. Например
11
ответ дан 5 December 2019 в 08:52
поделиться

Вы пробовали PrettyFaces ?

Простая, эффективная, закладка, JSF

PrettyFaces - это расширение OpenSource для JSF1.2 и JSF2.0, которое позволяет создавать красивые URL-адреса с возможностью закладок. PrettyFaces элегантно решает эту проблему, включая такие функции, как: действия по загрузке страницы, бесшовная интеграция с навигацией по лицам, динамическое назначение идентификатора представления, анализ управляемых параметров и совместимость с другими платформами JSF без настройки.

SEO и согласованность:

Любой бизнес знает, насколько важной может быть поисковая оптимизация для продаж. PrettyFaces позволяет создавать оптимизированные для SEO URL и улучшать качество обслуживания клиентов. Придайте своему сайту единообразный, понятный вид, от адресной строки до кнопки покупки.

8
ответ дан 5 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: