Как сопоставить длинный URL-адрес Liferay с удобным URL-адресом с помощью PrettyFaces?

Я хотел использовать сопоставление URL-адресов Liferay, но в настоящее время существует ошибка с JSF 2 и сопоставлением URL-адресов, поэтому оно не работает (http://issues.liferay.com/browse/FACES-257). Поэтому я переключился на PrettyFaces.

Мой вопрос в том, как вы можете в PrettyFaces сопоставить ссылку, например

localhost:8080/web/guest/wsw?p_auth=oPRD7ELs&p_p_id=KonakardPotrlets_WAR_KonakardPotrletsportlet&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=1&_KonakardPotrlets_WAR_KonakardPotrletsportlet__facesViewIdRender=%2Fviews%2Fwizard.xhtml

на что-то вроде этого?

localhost:8080/web/guest/wsw/views/wizard/id=2

Примечание. Мне также нужно сгенерировать новый параметр id, который устанавливается в bean-компоненте.


person Saša Makorič    schedule 27.11.2012    source источник


Ответы (1)


Ошибка FACES-257 давно исправлена. Вам следует использовать удобные URL-адреса Liferay. .

Создайте файл friendly-url-routes.xml в разделе src/main/resources/:

<?xml version="1.0"?>
<!DOCTYPE routes PUBLIC "-//Liferay//DTD Friendly URL Routes 7.0.0//EN" "http://www.liferay.com/dtd/liferay-friendly-url-routes
localhost:8080/web/guest/wsw/-/my-portlet/views/wizard/id=2
0_0.dtd"> <routes> <route> <pattern>/views/{viewName}/id={my_id}</pattern> <generated-parameter name="_facesViewIdRender">/WEB-INF/views/{viewName}.xhtml</generated-parameter> <implicit-parameter name="p_p_lifecycle">0</implicit-parameter> <implicit-parameter name="p_p_mode">view</implicit-parameter> <implicit-parameter name="p_p_state">normal</implicit-parameter> </route> </routes>

Вам также необходимо добавить следующую конфигурацию в раздел <portlet> вашего liferay-portlet.xml:

<friendly-url-mapper-class>com.liferay.portal.kernel.portlet.DefaultFriendlyURLMapper</friendly-url-mapper-class>
<friendly-url-mapping>my-portlet</friendly-url-mapping>
<friendly-url-routes>friendly-url-routes.xml</friendly-url-routes>

URL будет:

localhost:8080/web/guest/wsw/-/my-portlet/views/wizard/id=2
person stiemannkj1    schedule 04.10.2018