Weblogic 10.3.4 jsf 1.2 кодирует специальные символы - PullRequest
1 голос
/ 22 сентября 2011

У нас есть веб-приложение, которое использует реализацию weblogic jsf 1.2 из deployable-library (jsf-1.2.war).Мы начали использовать weblogic jsf impl после некоторых проблем с совместимостью упакованных jsf-impl и weblogic 10.3. 4 .

Итак, проблема в том, что у нас есть outputLink с несколькими параметрами, этиЗначения params могут содержать пространственные символы, поэтому мы явно кодируем их (для этого у нас есть функция taglib), но jsf impl для weblogic 10.3. 4 также кодирует эти символы, поэтому мы имеем URL-адрес с двойной кодированной ссылкой.Кто-нибудь знает, есть ли возможность отключить эту опцию в weblogic и кодировать параметры только вручную.

1 Ответ

3 голосов
/ 22 сентября 2011

Просто сделайте , а не , кодируйте его самостоятельно с помощью специальной метки. <f:param> уже неявно сделает это.

<h:outputLink value="page.jsf">
    <h:outputText value="Click" />
    <f:param name="foo" value="#{bean.foo}" />
    <f:param name="bar" value="#{bean.bar}" />
</h:outputLink>

Вот и все. #{bean.foo} и #{bean.bar} в приведенном выше примере могут просто возвращать необработанное и незашифрованное строковое значение.


Обновление согласно комментариям, это говорит о том, что эти два сервера JBoss AS 4.2.3 и WebLogic 10.3.2 используют конкретную реализацию / версию JSF, которая выявляет ошибку в кодировке URL * 1014. *. Пока я могу найти только следующие связанные отчеты (не ясно, используете ли вы MyFaces или Mojarra, поэтому я искал в обоих):

Я рекомендую заменить / обновить версию JSF рассматриваемых серверов до более новой версии, чем упомянутые в этих отчетах, или отправить библиотеки JSF вместе с самим веб-приложением и добавить параметры контекста web.xml для инструктирования сервера. вместо этого использовать JSF в комплекте с приложением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...