JSF:导航问题(Ajax/非 Ajax)
当按下以下 (PrimeFaces) 按钮时,
<p:commandButton value="Search"
actionListener="#{personController.searchPersons}"
update="resultTable"/>
我会加载对象列表并将它们显示在当前页面的表格中。这是通过 Ajax 调用完成的。
现在我想做以下事情:如果只找到一个对象,则不更新结果表,而是直接链接到“详细信息页面”。 (例如detail.xhtml
)
如何做到这一点?
我知道我可以通过 searchPersons()
方法的返回值来控制导航。但它并没有发挥应有的作用。我认为这与我的按钮的 update="resultTable"
有关。但我目前不知道如何解决这个问题...
When the following (PrimeFaces) button is pressed
<p:commandButton value="Search"
actionListener="#{personController.searchPersons}"
update="resultTable"/>
I load a list of objects and display them in a table on the current page. This is done via an Ajax call.
Now I'd like to do the following: If only one object is found, don't update the result table but link directly to the "detail page". (e.g. detail.xhtml
)
How can this be done?
I know that i can control the navigation via the return value of my searchPersons()
method. But It doesn't work as it should. I think it has to do with the update="resultTable"
of my button. But I currently don't know how to solve this...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在
oncomplete
属性中引入一些 JS。它将在bean操作和部分更新完成时执行。您可以通过分配window.location
一个新的 URL 来更改 JS 中的窗口位置。这是一个随机启动示例,假设您有一个 ID 为
persons
的 Person 表,并且详细信息链接类似于表格行中的某处。
You can bring in some JS in
oncomplete
attribute. It will be executed when the bean action and the partial update is completed. You can change the window location in JS by assigningwindow.location
a new URL.Here's a random kickoff example, assuming that you've a persons table with id
persons
and that the detail link look something like<a class="detail" href="detail.xhtml?id=123">
somewhere in the table row.