Posts Tagged suggestionbox
The selfRendered attribute
This is an interesting problem related to the RichFaces rich:suggestionbox
tag.
Let’s take the following code:
<rich:suggestionbox for="q" minChars="1" suggestionAction="#{myBean.mySuggestionAction}" var="result" limitToList="true"> <h:column> <h:outputText value="#{result}" /> </h:column> </rich:suggestionbox>
If you use the code above as it is, the whole page is going to be processed each time the suggestionAction is called. And because the minChars
attribute is set to 1, the action is going to be called each time the user enters a character! 😮
For obvious reason, such as performance issue, this is not ideal.
To avoid this behaviour, you simply need to set the attribute selfRendered
to true as shown below:
<rich:suggestionbox for="q" minChars="1" suggestionAction="#{myBean.mySuggestionAction}" var="result" limitToList="true" selfRendered="true"> <h:column> <h:outputText value="#{result}" /> </h:column> </rich:suggestionbox>
Here is the description of the selfRendered
attribute from RichFaces documentation:
If “true”, forces active Ajax region render response directly from stored components tree, bypasses page processing. Can be used for increase performance. Also, must be set to ‘true’ inside iteration components, such as dataTable.
Don’t hesitate to add this attribute to increase the performance of your website. 😉