Это ошибка в Мохарре. Они не должны были добавляться, когда нет никаких средств для любой конфигурации навигации по потоку (by the new @FlowScoped
annotation and <j:flow-xxx>
tags).
В основном, OutcomeTargetRenderer
класса, который отвечает за вывод HTML поколения <h:link>
и <h:button>
неправильно проверка, если NavigationCase#getToFlowDocumentId()
возвращает непредставленные null
перед добавлением навигационных параметров потока. Однако на основе the javadoc базовая реализация никогда не возвращает null
, а пустую строку. Поэтому рендеринг всегда считает, что он находится в середине навигации по потоку и всегда добавляет связанные параметры запроса jftfdi
и jffi
. Исправить это, чтобы он также проверял, если он возвращает непустую строку.
Я сообщил об этом как issue 3054, и они подтвердили, что это ошибка и в настоящее время работают над ней. Исправление, вероятно, будет доступно в Mojarra 2.2.5.
Обновление: на данный момент, менее чем через день, оно установлено для 2.2.5.
К слову, jftfdi
означает «javax.faces
потока ID документ», который указан следующим образом в the javadoc:
Компонента, оказываемая рендерерами компоненты-семействе javax.faces.OutcomeTarget
должен использовать этот константа как имя параметра для параметра, представляющего идентификатор определяющего документа потока, который этот компонент будет вводить.
и jffi
означает «javax.faces
Flow ID», которая определяется следующим образом в the javadoc:
Компоненты, оказываемые рендереров компонента-семейства javax.faces.OutcomeTarget
должны использовать эту константу в качестве имени параметра для параметр, представляющий идентификатор потока потока, который этот компонент будет вводить.
http://stackoverflow.com/questions/17594856/what-are-jftfdi-jffi-doing-to- my-query-string – Husam