1

我想向#topa添加一个 URL 片段HtmlOutcomeTargetLink,但不知道如何。对于HtmlOutputLink我只使用以下内容:

      HtmlOutputLink link = new HtmlOutputLink();
      String urlWithFragment = url + "#top";
      link.setValue(urlWithFragment);

如何实现这一点HtmlOutcomeTargetLink

不幸的是,以下方法不起作用:

      HtmlOutcomeTargetLink link = new HtmlOutcomeTargetLink();
      String urlWithFragment = context.getViewRoot().getViewId() + "#top";
      link.setOutcome(urlWithFragment);

谢谢你的帮助!

4

1 回答 1

2

outcomeof HtmlOutcomeTargetLink(the )<h:link>只接受导航案例结果,而不是 URL。导航案例结果不支持 URL 片段。这些需要设置为单独的fragment属性。

link.setFragment("top");

也可以看看:


更新UIOutcomeTarget:等等,父类上没有设置器。我怀疑生成的代码中存在疏忽(有趣的是,它在 Mojarra 快照文档MyFaces 测试用例中提到过)。您应该能够直接在属性映射上设置它:

link.getAttributes().put("fragment", "top");
于 2012-10-01T15:43:35.307 回答