Сохраняйте URL-адреса без расширений prettyfaces как "to-view-Id" в файле face-config.xml

Как сохранить созданные пользователем Prettyfaces URL без расширений в to-view-idв пределах faces-config.xml чтобы не дописывать .xhtml до конца этого?

Например, при определении случая навигации я определяю to-view-id как /topics/54233 но лица-конфиг перенаправляет меня на /topics/54233.xhtml что я, безусловно, хочу предотвратить. Как мне это сделать?

Я знаю, что существуют методы навигации Prettyfaces, но я не могу работать с Prettyfaces для навигации (так как это не позволяет создавать разные варианты навигации для результата, основанного на разных from-view-id(s), которые предлагаются лицами -config.xml), поэтому я скорее пытаюсь сохранить эту работу с Face-config.xml

1 ответ

Решение

Во-первых, вы не можете использовать "URL-адреса prettyfaces" в faces-config.xml из-за архитектуры системы навигации лиц. (К тому времени, как Face-config.xml обрабатывается для навигации, все остальные расширения уже не имеют возможности действовать.)

Это означает, что вам нужно использовать исходный URL-адрес представления JSF в to-view-id вашего случая навигации, и вы должны использовать <redirect/> для того, чтобы PrettyFaces изменил исходящий URL и переписал его в симпатичную форму.

Что-то вроде этого

<navigation-case>
    <from-outcome>from-outcome</from-outcome>
    <to-view-id>/topics/view.xhtml</to-view-id>
    <redirect>
        <view-param>
            <name>id</name>
            <value>54233</value>
        </view-param>
    </redirect>
</navigation-case>

Если у вас есть соответствующее отображение в вашем pretty-config.xml, PrettyFaces выдаст редирект на /topics/54233

<url-mapping>
    <pattern value="/topics/#{id}" />
    <view-id value="/topics/view.xhtml" />
</url-mapping>

Все это вместе приведет к успешному перенаправлению. Тем не менее, в общем, если вы собираетесь выполнять работу с Face-config.xml, вам просто нужно сделать вид, что PrettyFaces не существует, и не забудьте использовать <redirect/>,

Другие вопросы по тегам