java - JSF - 重定向到页面并记住参数 ID 以进行搜索

标签 java jsf richfaces

我有两个 xhtml 页面和两个托管 bean。

在第一页我有一个主题列表(来自数据库表的记录 - 第二列包含 <h:commandLink> 标签):

enter image description here

部分精简代码:

<rich:column><h:outputText value="#{item.id}"/></rich:column>
<rich:column><h:outputText value="#{item.createdBy}"/></rich:column>
<rich:column>
  <h:commandLink value="#{item.topic}" action="#{myTools.setMenuItem('posts')}"/>
</rich:column>

我正在使用 action="#{myTools.setMenuItem('posts')}"重定向到页面 posts.xhtml。 如何传递参数 "#{item.id}"能够找到具有给定 ID 的主题的所有帖子?

更新(使用数据模型): 这可能是这样的:

<h:commandLink value="#{item.topic}" action="#{myTopic.submit}">

public String submit()
{
  topic = model.getRowData();
  return "/posts.xhtml?faces-redirect=true&id=" + topic.getId();
}

但我仍然不知道如何通过 topic.getId()参数到另一个 bean (MyPosts)..?

最佳答案

也传过去吧

例如

<h:commandLink value="#{item.topic}" action="#{myTools.navigate('posts', item.id)}"/>

public String navigate(String menuItem, Long id) {
    this.menuItem = menuItem;
    return menuItem + "?faces-redirect=true&id=" + id;
}

bean 不需要也不应该位于 session 范围内。 View 范围很好。否则,最终用户在多个浏览器选项卡/窗口中与同一页面交互时将面临不直观的行为。

关于java - JSF - 重定向到页面并记住参数 ID 以进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7899518/

相关文章:

jsf - 按钮/链接/文本组件需要在其祖先中有一个表单。请添加 <h :form>

hibernate - 在持久化实体之前检查约束违规

java - 每次加载 facelets 组件时调用 javascript 函数

jsf - 为什么我的 JSF 复合构面在未渲染构面时会进行验证

java - 使用 "JSF"或 JSTL 标签迭代 java.util.Map 时出现问题

jsf - 在登录失败时在错误页面上显示来自 j_exception 的错误消息(JAAS - LoginException 处理)

java - 以编程方式确定 IOException 的原因?

java - esper 根据事件开始时间固定窗口

java - Netbeans6.8中的UML插件

java - 如何在javaparser中使用getRange获取源代码