关于多页面共享同一个Backing bean的问题
fkangel
2010-02-24
各位高人,小弟在学习jsf的过程当中碰到这样一个问题:我在一个主页面中点击了多个item,打开多个页面,这些页面上的内容展现了不同的item,但是这些item在xhtml中绑定了同一个bean,这个bean的scope是session的,如此一来,只要刷新一下先前打开的页面,上面的数据全都会变成最后一个打开的item的内容。
我想要达到的效果是,每个页面刷新之后,展现的内容还是各自不同的item。请各位指教~ |
|
terryzhou
2010-02-25
把需求讲下,听得有点晕
|
|
fkangel
2010-02-25
需求就是在一个主页面上罗列了多条item,比方说10条员工brief信息。用户可以点击每条item,同时打开员工详细信息页面,查看并且编辑保存。如果说我现在先后点击并打开员工A,员工B,员工C的详细信息页面(在ie上同时存在这3个页面),但是在我打开员工C的页面之后,又回去看员工A的那个页面,并且点了F5刷新,这个页面就变成了员工C的信息了。
|
|
terryzhou
2010-02-25
改写成两个 BEAN,主页面一个BEAN,详细页面一个BEAN(SCOPE:REQUEST)
|
|
fightman
2010-02-26
把Backbean实现Serializable, 并在faces-config.xml里面把bean scope改成request
修改xhtml加入 <a4j:keepAlive beanName = "myBean"/> (对使用Richfaces) <t:saveState id="state3" value="#{myBean}"/> (对使用Tomhawk) <<h:inputHidden value="#{myBean.value}" /> (对使用Sun JSF 1.2) |