Pessoal,
vou citar um exemplo:
supondo que eu tenha um cadastro de produtos, onde devo informar diversos dados relativos ao produto, sendo um deles o fornecedor. Desta forma, eu vou informando os dados do produto, como descrição, preço, etc. Sendo que na hora de informar o fornecedor eu perceba que um determinado fornecedor não está cadastrado. Para resolver este problema, coloquei um botão ao lado da caixa de seleção do fornecedor para quando clicar ir cadastrar o fornecedor e voltar para tela de cadastro que estava preenchida com diversos campos. Já coloquei um h:commandLink para chamar o cadastro do fornecedor e consigo cadastrá-lo e voltar para tela de cadastro do produto, sendo que os dados previamente preenchidos com relação ao produto são perdidos. Tem como sair da tela, ir cadastrar o fornecedor, voltar e não perder os dados digitados anteriormente?
Vou colocar um pouco do código:
[code]
<h:form id=“cadprincipal”>
…
<h:outputLabel value="Fornecedor" /> <br />
<h:selectOneMenu id="selecaofornecedor" value="#{produtoBean.fornecedorId}" required="true" requiredMessage="O fornecedor deve ser informado.">
<f:selectItems value="#{fornecedorBean.fornecedorItem}" />
</h:selectOneMenu>
<h:commandLink action="#{fornecedorBean.iniciaOperacao}" immediate="true" value="Não cadastrado?">
<f:param name="operacao" value="9" />
</h:commandLink> <br /><br />
...
</h:form> [/code]