Я недавно работал с Seam, и временные разговоры все еще смущают меня.
В нашем проекте мы используем ExternalContext.redirect()
, чтобы перенаправить пользователя на страницу ответа. Из того, что я прочитал, разговор о Seam заканчивается, когда вызывается фаза ответа рендеринга.
Но потом я прочитал где-то еще: Шов прозрачно распространяет контекст разговора (включая временный контекст разговора) по обратным передачам JSF и перенаправляет .
Итак, что происходит, когда я перенаправляю на одну и ту же страницу, так это то, что у commandLinks всегда один и тот же разговор-ID, добавляемый к его URL-адресу действия. Я попытался завершить временную беседу с помощью <f:param name="conversationPropagation" value="none"/>
, как говорится на странице, но это приводит к тому, что при отображении перенаправленной страницы контекст беседы уже fred и bean-компонент, который мы используем, больше не может использоваться в ответ.
Итак, что я хочу знать, так это то, что если есть способ завершить беседу перенаправлением и поддерживать контекст до передачи ответа?
Если нет, то когда временная беседа действительно заканчивается? Потому что, поскольку контекст разговора распространяется через перенаправления и обратные передачи, он кажется мне, что никогда не закончится.