问题
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.
来源:https://stackoverflow.com/questions/649834/back-commandbutton-in-jsf