How can I add 'if condition' in primefaces, jsf [duplicate] - jsf

This question already has answers here:
Conditionally displaying JSF components
(3 answers)
Closed 6 years ago.
I wanna add this action.
If EL is 'true' like this, #{trueFalseBean.isTrue}, I wanna pop up message without pressing any button like 'onload();', otherwise no action. How can I use if, else clause on JSF or PF? Please help me thanks

Define a boolean variable in your bean and set it with a method when an action is started. Then use variable last situation to make something.

Related

how to Disable click on btn after first or do not send action [duplicate]

This question already has answers here:
Pure Java/JSF implementation for double submit prevention
(3 answers)
How to do double-click prevention in JSF
(9 answers)
Closed 2 months ago.
I have tried different solutions but what I want to achivie is:
When you press the button (a tag / h:commandlink ) I want to disable the button or do no action at the second click because the first one is loading. Right now I have a issue that you can double click on the button and it can give me error.
I have this code:
<h:commandLink id="btn" styleClass="link"
onclick="test()"
action="#{use.enterAgentMode(user, myBean.guardEnum)}">
</h:commandLink>
for example is it possible to create a variable and set it to true/false and set condition inside of action=... if true do the code else nothing
I also tried with JQuery and document.getElement to set attr.disabled true but did not work.
I saw it disabled with inspect but it was still clickable
I have tried different stuff, tried to add some debounce on the button..
any advices please

How to get id from request/response in JSF? [duplicate]

This question already has answers here:
How to find out client ID of component for ajax update/render? Cannot find component with expression "foo" referenced from "bar"
(6 answers)
Closed 4 years ago.
I have such id of dialog form form:processFilterPanel_fpanel_tv:dialogFormIO:j_idt195:ItemWidget_input
And I want to work with one element of form at backend side. The problem that this part of id j_idt195 is always changing by jsf (when it starts a new session) and I don't know how to get it. Have any ideas?
Just use id="yourFavId" on the component and reference it.
JSF gives those weird looking ids to the html components that didn't have a defined one.

Primefaces Filled Field Automatically [duplicate]

This question already has answers here:
Clear JSF form input values after submitting
(5 answers)
Closed 5 years ago.
I'm developing a project using JSF and Primefaces and I got some forms.
Every time I open those forms all fields are already filled with the last information I saved on database.
I'd like every time I open those forms all fields were blank.
How can I do this?
Thank you!!
What Scope are you using in your managed bean? if you are using session scope for example it will hold the last values of your bean properties as long as the application session exists. Depending on what you doing, I would use request scope instead. This will delete the bean when it is not being use and therefore clear the values when you request again. Or perhaps view scope, this will keep the values as long as you are in the same view. Another way would be to use javascript to clear the values by Ids.
if u are using
#SessionScoped
Try to change to :
#ViewScoped

Execute button action only if the result from actionListener=true [duplicate]

This question already has answers here:
JSF 2.0 Forbid calling action after failed validation in actionListener
(2 answers)
Closed 7 years ago.
I am developing a simple project in JDeveloper. In the jsff page I have a button which should execute a specific action only if the result from the action listener of the button is true. Please take a look at the code:
<af:button text="Save" id="b1" action="finish"
actionListener="#{pageFlowScope.saveDate.isValid}">
For example, if the return value of #{pageFlowScope.saveDate.isValid} is true, then execute action="finish", otherwise do nothing.
Thanks!
You can throw special exception in action listener - AbortProcessingException. Doing so you inform jsf not to call remaining action listeners/actions.
See this answer for more details.

JSF Back Button [duplicate]

This question already has answers here:
back commandbutton in jsf
(5 answers)
Closed 8 years ago.
How do I make a link which navigates the user back one page (i.e. same as clicking browser back)?
Thanks.
To the point: just remember the request URL or the JSF viewId of the previous page so that you can use it in the href or value of the output/commandlink. There are several ways to achieve it, depending on how you're actually navigating through the pages and how "jsfish" you want to achieve it. You could pass it as a request parameter by f:param in h:outputLink, or you could set it as a bean property by f:setPropertyActionListener in h:commandLink, or you could create a PhaseListener which remembers the viewId and make use of navigation cases, or you could grab the -much less reliable- JavaScript history.go() function.

Resources