Search code examples
htmljsfjsf-2anchor

Using JSF h:outputLink to produce a page anchor


Simple question:

How do you create an HTML anchor like

<a id="organization" />

with JSF, e.g.

<h:outputLink ... />

or another JSF link component? Is it possible at all?


Solution

  • You could use <h:link> for that. Its id attribute becomes the <a id> and <a name>.

    <h:link id="organization" value="Organization" fragment="organization" />
    

    It generates the following HTML:

    <a id="organization" name="organization" href="/currentcontext/currentpage.xhtml#organization">Organization</a>
    

    But just using plain <a> or even <span> or <div> is perfectly legal in JSF/HTML as jump targets.

    <span id="organization">Organization</span>
    

    In order to create a link which jumps to that, use <h:link fragment> without id:

    <h:link value="Jump to organization" fragment="organization" />
    

    The generated HTML will look like this:

    <a href="/currentcontext/currentpage.xhtml#organization">Jump to organization</a>