back commandbutton in jsf

2019-01-24 06:23发布

问题:

how would one implement a back-button as a commandbutton that works universally? with back button i don't mean the browser-button, but rather a button that sits somewhere on the page. it is not always possible to use the Post-redirect-get pattern.

its quite impractial to pass around the information on every single where the button should point to.

is there maybe a reserved keyword for a navigation rule that points to the last navigation rule applied?

回答1:

I use a h:commandLink with attribute onclick="history.go(-1)" in this case. It works universally.



回答2:

My first idea :

on every

<h:commandLink .....>

and etc; store the navigation string in a bean, or even a stack, and then the back button can retrieve it and just return that as per faces-config.xml

Second idea.

But on reflection you should override or use a filter to intercept the navigation commands and push them onto a stack. Then the back button can just pop the navigation off and away you go.



回答3:

I would store the navigation string in a stack datatype and you use the stack.peek() to show which is the site behind you, and when its clicked you fire an action event that triggers the stack.pop()



回答4:

You can use:

<p:commandButton onclick="window.history.back();"/>

That instruction do the same as onclick="history.go(-1)" which alexmeia has said.