Filip Ekberg
Filip Ekberg

Reputation: 36287

Navigation in JavaServer Faces, redirecting with correct parameters

I have a page: http://mypage.com/items.jsf.

This page takes the following for granted:

Now, I can manually call items.jsf?ID=10

But what I really want to do is have a Button which calls a function that returns the navigation URL.

public String test()
{
    return "10";
}

Now having the following code in the JSF file.

    <h:form>
        <h:commandButton action="#{itemsBean.test}" value="Redirect me" />
    </h:form>

What I want to happen is that when I press "Redirect me", I want a Navigation-Rule to know that I want to go to: items.jsf?ID=10

Is this possible? It feels like it's a trivial problem really.

Upvotes: 0

Views: 1351

Answers (2)

McDowell
McDowell

Reputation: 108889

With only the core JSF framework and the Facelets library, you may find this difficult. The JSF 1.2 library does not include support for adding request parameters to the redirect URL.

A few solutions spring to mind:

Upvotes: 1

Lincoln
Lincoln

Reputation: 3191

If you are stuck with JSF1.2, you can also use the <h:outputLink> and nest <f:param name="" value=""> tags within it. The outputLink will include the parameters as query-params: ?name=value

If you need page-actions, navigation from methods, or jsut want to let an extension manage this for you, you can use PrettyFaces – SEO, Dynamic Parameters, Bookmarks, and Navigation for JSF / JSF2

It includes much simplified JSF navigation and linking.

Upvotes: 1

Related Questions