2012-09-27 57 views
2

在请求范围bean之间传递对象一段时间我试图在两页之间传递一个对象,即使用不同的托管bean。我正在使用jsf 2.1和primefaces 3.1。JSF 2.0使用链接

我的情况:

  1. 我有一个号码:dataTable的和一列是H:链接,用户可以点击一下将一个新的页面后编辑当前对象
  2. 被打开,所选对象的内容将显示为进一步的动作

我试过从页面1发送一些参数作为GET请求并从pag处理它们e 2.它可以工作,但这不是我想要的解决方案。我需要选定的整个对象。我正在考虑在请求映射中传递它,或者将负责第1页的bean声明为@SessionScoped,并从第2个bean中注入这个bean。

我不成功的是在更改页面之前找出哪个对象被选中。我试过使用ajax或链接标签的actionListener,但没有任何工作。在执行actionListener或ajax事件之前,页面被更改...

我该如何首先设置选定的对象/行,然后才能更改页面?

谢谢你的帮助。

回答

1

而不是使用h:link的,你会想用p:commandLink,在actionListener设置所选对象,并更改页面oncomplete阶段,像location = 'page2.xhtml';一个javascript线。

您可以在下面找到相关的标签文档。它也存在于3.1版本中。

http://www.primefaces.org/docs/vdl/3.4/primefaces-p/commandLink.html

PS:要么页面1或2页仍然需要会话范围,否则将无法正常工作。