Разговор CDI с Ajax
Я пытаюсь использовать область диалога CDI, и у меня есть некоторые сомнения: - Нужно ли мне передавать cdi id при использовании ajax-запроса?
Например:
<p:spinner value='#' min="1" max="99" styleClass="spinerqtde" title="Quantidade" stepFactor="1" maxlength="2">
<f:param name="cid" value="#{carrinho.conversation.id}"></f:param>
<p:ajax update="@form" listener='#{carrinho.lstSpinerProduto}' process="@this" />
</p:spinner>
Потому что когда я этого не сделал, я понял, что метод "@postConstruct" снова инициализируется, и создается новый CID.
Код ManagedBean:
@Named("carrinho")
@ConversationScoped
public class CCarrinho implements Serializable
{
.
.
.
@Inject
private Conversation conversation;
.
.
.
@PostConstruct
public void inicializar()
{
if (getConversation().isTransient())
{
getConversation().begin();
}
}
Благодарю. До свидания!
1 ответ
Решение
Идентификатор текущего разговора сохраняется в текущем представлении, и когда вы выполняете обратную передачу (запрос ajax также является обратной передачей), идентификатор беседы присутствует, поэтому вам не нужно его предоставлять.