com.sun.faces.enableRestoreView11Compatibility, что использование вместо этого в JSF 1.2

Я предполагаю, что Ваш класс находится в различном пространстве имен. Канонический способ решить это состоял бы в том, чтобы использовать класс ресурсов и ресурс со строгим контролем типов:

ProjectNamespace.Properties.Resources.file

Использование менеджер ресурсов IDE для добавления ресурсов.

7
задан BalusC 4 September 2010 в 16:00
поделиться

1 ответ

Что ж, у меня есть решение, но оно мне не очень нравится ... Это заменит все подчеркивания дефисами, а перенаправления - кодом состояния 301, что означает «Переехал навсегда». (конечно, вы также можете использовать его для замены любых других символов)

Кроме того, это должно быть первое правило (например, в файле .htaccess), потому что первая строка на самом деле представляет собой цикл, который снова проходит через все правила (из-за флага N)

 RewriteRule ^ / redirect / from /([^_ provided*)\_(.*)$ / redirect / from / thisisthethingwedontneed $ 1- $ 2 [N, L]

RewriteCond% {REQUEST_URI} (thisisthethingwedontneed) +

RewriteRule (thisisthethingwedontneed) + (. *) / Url / to / redirect / to / $ 2 [NC, QSA, R = 301]

Пояснение:

Первая строка:

'redirect / form': базовый путь или все, что вы хотите перенаправить. Он должен быть включен во вторую часть, чтобы иметь возможность сопоставить его при следующем запуске цикла

первая часть: 'заменить (не подчеркивание), за которым следует подчеркивание, за которым следует (что угодно)' захват первого и последнего часть для дальнейшего использования

вторая часть: вставьте текст, который, вероятно, не найден в ваших URL-адресах, перед захваченной первой частью, затем добавьте первую часть, затем тире, а затем флаги второй части

: N: после этого, продолжайте снова, снова выполните все правила перезаписи, но с измененным URL-адресом L: если было совпадение, остановитесь здесь (2 флага вместе фактически делают то, что вы ожидаете от первого.)

Вторая строка

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

Третья строка

Первая часть: сопоставить и захватить любые вхождения смешной строки и захватить все после него

Вторая часть: добавьте вторую часть к любому пути, на который мы хотим перенаправить (и забудьте о забавной строке)

Флаги: NC: без учета регистра QSA: добавить любую строку запроса R = 301: перенаправление с перемещением навсегда

и возвращение UIViewRoot для восстановленного представления. Если возврат от ViewHandler.restoreView () равен нулю, выбросить ViewExpiredException с соответствующим сообщением об ошибке. javax.faces.application.ViewExpiredException - это FacesException`, которое должно быть создано, чтобы сообщить приложению, что ожидаемое представление не было возвращено для идентификатора представления. Приложение может выбрать выполнение определенного действия на основе этого исключения.

Чтобы исключение ViewExpiredException выдавалось по истечении срока действия представления, удалите com.sun.faces.enableRestoreView11Compatibility параметр или установите для него значение false .


Пространство имен com.sun предполагает, что параметр является параметром Sun / Mojarra и производным параметром, зависящим от реализации, поэтому он, вероятно, не будет работать со всеми реализациями JSF.

12
ответ дан 6 December 2019 в 21:15
поделиться
Другие вопросы по тегам:

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