如何添加URL片段HtmlOutcomeTargetLink?

时间:2012-10-01 15:39:27

标签: jsf-2 hyperlink fragment-identifier

我想将一个网址片段#top添加到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);

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

outcome的{​​{1}}(HtmlOutcomeTargetLink)仅获取导航案例结果,而不是网址。导航案例结果不支持URL片段。这些需要设置为单独的<h:link>属性。

fragment

另见:


更新:等待,UIOutcomeTarget父类没有设置器。我怀疑在生成的代码中有疏忽(有趣的是它提到了here in Mojarra snapshot docshere in a MyFaces testcase)。您应该可以直接在属性映射上设置它:

link.setFragment("top");