在jsf页面中获取<f:param>值?</f:param>

时间:2010-09-23 12:16:04

标签: jsf richfaces jsf-2 el

我正在尝试传递<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属性......

1 个答案:

答案 0 :(得分:2)

您忘记了# EL前缀。

<f:param name="id" value="#{someValue.id}" />

然后,要在后续请求中访问它,请使用#{param.name}。所以:

#{linkController.clientEdit}?id=#{param.id}

#{param}引用包含所有请求参数名称 - 值对的Map<String, String>