0
我有一个窗体,我有一个按钮,当我点击那个按钮,一个对话框打开选择一个值,然后我的对话框关闭。对话框关闭instanciate Bean ViewScoped
但是,这样做我的Bean(@ViewScoped)再次被调用(重新实例化),我失去了我以前在页面上输入的信息。
我搜索了,我发现了一个类似的行为(http://forum.primefaces.org/viewtopic.php?f=3&t=38235),但没有答案。
我用构造函数初始化我的bean,但我不知道这是否是问题。
@ManagedBean(name="exameBean")
@ViewScoped
public class ExameBean implements Serializable {
public ExameBean(){
exame = new Exame();
exames = new ArrayList<Exame>();
}
public void selecionaPaciente() {
RequestContext.getCurrentInstance().openDialog("/pages/SelecionaPaciente");
}
public void retornaPaciente(Paciente paciente) {
RequestContext.getCurrentInstance().closeDialog(paciente);
}
public void pacienteSelecionado(SelectEvent event) {
exame.setPaciente((Paciente) event.getObject());
}
}
SelecionaPaciente.xhtml
<p:column headerText="Selecionar">
<p:commandButton icon="ui-icon-search" actionListener="#{exameBean.retornaPaciente(lista)}" />
</p:column>
如果您重新启动视图范围,则会发生这种情况。如果您告诉JSF创建新视图,它将重新启动。如果你是这样,就会发生从操作方法返回一个字符串进行导航。是你做的吗? – BalusC 2014-09-02 13:40:15
@BalusC我编辑我的帖子,把我的页面代表对话框返回和我的bean方法,openDialog,CloseDialog和设置值。你怎么看? – gustavomr 2014-09-02 13:54:22
@BalusC有什么帮助? – gustavomr 2014-09-08 18:56:18