Using a “Please select” f:selectItem with null/empty value inside a p:selectOneMenu

When the select item value is null, then JSF won’t render <option value>, but only <option>. As consequence, browsers will submit the option’s label instead. This is clearly specified in HTML specification (emphasis mine): value = cdata [CS] This attribute specifies the initial value of the control. If this attribute is not set, the initial … Read more

Naming Container in JSF2/PrimeFaces [duplicate]

What are the possible naming container in Prime faces In JSF naming containers derive from UINamingContainer. why it is necessary to append naming container id for Ajax update call when we want to update some UI control on form using update=”:mainForm:MainAccordian:userNameTextbox” Lets say, <h:outputText value=”test1″ id=”userNameTextbox” /> and you add another <h:outputText value=”test2″ id=”userNameTextbox” /> … Read more

Difference between rendered and visible attributes of

The rendered attribute is server-side and the visible attribute is client-side. The rendered attribute tells whether JSF should generate the dialog’s HTML representation or not. The visible attribute tells whether HTML/CSS/JS should immediately show the dialog on browser’s page load or not. If the dialog isn’t rendered, then you won’t be able to display it … Read more

How to get rid of WARNING: PWC4011: Unable to set request character encoding to UTF-8

JSF/Facelets uses by default UTF-8 to decode HTTP request parameters. GlassFish itself uses by default ISO-8859-1 do decode HTTP request parameters. HTTP request parameters can be parsed and decoded only once and this happens whenever a request parameter is requested by the code for the first time like so request.getParameter(“name”). So, if a request parameter … Read more

How to decrease request payload of p:ajax during e.g. p:dataTable pagination

Indeed, when you submit a form in HTML, by default every single HTML input element will be sent as request parameter. PrimeFaces ajax components therefore offer the partialSubmit=”true” attribute which will then send only the HTML input elements covered by the process attribute, which defaults in <p:ajax> to @this and in <p:commandXxx> to @form. So, … Read more

PrimeFaces validator not fired

According to the FileUpload and FileUploadRenderer source code, the validator is only invoked when mode=”simple” is been used (note: this in turn requires ajax=”false” on command). The advanced mode will namely not set the uploaded file as component’s submitted value, causing it to remain null until the listener method is invoked. As long as the … Read more

JSF/PrimeFaces ajax updates breaks jQuery event listener function bindings

As to the cause of your problem, the ajax request will update the HTML DOM tree with new HTML elements from the ajax response. Those new HTML elements do —obviously— not have the jQuery event handler function attached. However, the $(document).ready() isn’t re-executed on ajax requests. You need to manually re-execute it. This can be … Read more

Execution order of events when pressing PrimeFaces p:commandButton

It failed because you used ajax=”false”. This fires a full synchronous request which in turn causes a full page reload, causing the oncomplete to be never fired (note that all other ajax-related attributes like process, onstart, onsuccess, onerror and update are also never fired). That it worked when you removed actionListener is also impossible. It … Read more