我正在尝试传递<f:param name="id" value="{someValue.id}" />
并在下一页中检索它(因此我可以将其放在输出链接中)。这就是我试过的:
<h:outputLink value="#{linkController.clientEdit}?id={id}">#{linkController.clientEdit}?id={id}</h:outputLink>
问题是,标签之间的部分打印出我想要的内容,即:/ my / path?id = 1,但输出链接的值是/ my / path?id = {id}。是否可以将该id值放在outputLink的value属性中?
@Edit:整个应用程序有点奇怪:我们有一个带有一些记录的dataTable,最后一列有一个图像,如果你单击设置bean中的当前行(keppAlive),设置id参数和显示了一个contextMenu(RichFaces),它必须是menuItems:编辑和删除。当我点击编辑时,我希望被重定向到带有id参数的编辑页面。问题是menuItem只有一个action属性,它接受String去哪里,但当它去那里时它不会改变浏览器中的URL。这就是为什么我想把outputLink放在menuItem中并删除action属性......
答案 0 :(得分:2)
您忘记了#
EL前缀。
<f:param name="id" value="#{someValue.id}" />
然后,要在后续请求中访问它,请使用#{param.name}
。所以:
#{linkController.clientEdit}?id=#{param.id}
#{param}
引用包含所有请求参数名称 - 值对的Map<String, String>
。