2

使用 JSF java 类,是否可以以编程方式创建将参数传递给另一个页面的链接。

<h:link value="Edit" outcome="edit" >
    <f:param name="id" value="500" />
</h:link>

换句话说,上面的 JSF 标记的程序等价物是什么?

HtmlOutputLink link = new HtmlOutputLink(); // link.? = "Edit"?
// link.? = "edit"?
// link.? = 500?
4

1 回答 1

10

您的代码示例令人困惑。<h:outputLink>根本没有outcome属性,而是它的属性value表示 URL。也许您打算使用<h:link>?

无论如何,您可以<f:param>通过创建一个实例UIParameter并将其添加为链接组件的子组件来以编程方式创建。这是一个启动示例,假设您真的想使用<h:link>.

HtmlOutcomeTargetLink link = new HtmlOutcomeTargetLink();
link.setValue("Edit");
link.setOutcome("edit");
UIParameter param = new UIParameter();
param.setName("id");
param.setValue("500");
link.getChildren().add(param);
于 2012-06-29T11:49:59.980 回答