Jsf 如何以编程方式创建commandlink

Jsf 如何以编程方式创建commandlink,jsf,seam,richfaces,Jsf,Seam,Richfaces,我们有一个基于seam/richfaces的系统。 在这个网页中,表是从动态上下文呈现的(来自多个不同的数据源,每个数据源使用不同的布局来表示基本相同的真实世界概念)。结果,这个表被绑定到一个bean,它的列/布局就是从这个bean生成的 现在我需要在特定列上添加一个命令链接,相当于 <a4j:commandLink value="#{actBean.Ids}" action="#{actBean.genDetails}"> <f:setPropertyActionLi

我们有一个基于seam/richfaces的系统。 在这个网页中,表是从动态上下文呈现的(来自多个不同的数据源,每个数据源使用不同的布局来表示基本相同的真实世界概念)。结果,这个表被绑定到一个bean,它的列/布局就是从这个bean生成的

现在我需要在特定列上添加一个命令链接,相当于

<a4j:commandLink value="#{actBean.Ids}" action="#{actBean.genDetails}">
    <f:setPropertyActionListener target="#{actBean.Ref}" value="#{cont}"/>
</a4j:commandLink>
我的问题是,我如何通过编程实现这一点

谢谢

HtmlAjaxCommandLink commandLink = new HtmlAjaxCommandLink();
commandLink.addActionListener(new SetPropertyActionListener(target, value));
column.getChildren().add(commandLink);
其中
目标
值表达式
。可以通过以下方式创建这些文件:


所需的
ELContext
可以通过
FacesContext.getCurrentContext().getELContext()

@John@BalusC或@Bozho向您展示如何使用。为了实现目标,您必须在托管bean中绑定JSF组件。@Arthur我实际上是根据BalusC的教程完成了全部工作。只是我找不到合适的方法来绑定commandlink和propertyActionListener对象(在HtmlColumn对象上),在richfaces/JSFAPI中找不到它们(或者我只是缺少它们)。冷静点@波佐在线。他会在半夜告诉你怎么做,所以我有点困了,不能完全理解这个问题。我明天早上去看看。在此之前,请提供一些其他的代码,你目前只描述Thx,我添加了更多的代码。整个事情可能太详细了。我希望我添加的部分能够充分说明我遇到的问题。
HtmlAjaxCommandLink commandLink = new HtmlAjaxCommandLink();
commandLink.addActionListener(new SetPropertyActionListener(target, value));
column.getChildren().add(commandLink);