如何添加 URL 片段 HtmlOutcomeTargetLink



我想添加一个URL片段#topHtmlOutcomeTargetLink,但不知道如何。对于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);

感谢您的帮助!

HtmlOutcomeTargetLinkoutcome<h:link>)仅采用导航案例结果,而不是URL。导航案例结果不支持 URL 片段。这些需要设置为单独的fragment属性。

link.setFragment("top");

另请参阅:

  • <h:link>标签文档

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

link.getAttributes().put("fragment", "top");

相关内容

  • 没有找到相关文章

最新更新