arya-blue
luna-amber
luna-blue
luna-green
luna-pink
nova-dark
nova-light
saga-blue
vela-blue
MarkText - Update Search
Demonstrates the updateSearch functionality, which allows updating the mark when the search term changes via a listener method.
Search term:
Searchable Content

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

PrimeFaces Extensions provides additional components for PrimeFaces. MarkText is a new component that highlights search terms within specified containers using mark.js.

Backend Data from Mark Event Listener
Last Matched Terms: No data received yet
Last Positions: No data received yet
Source

                <h:panelGrid columns="2">
        <h:outputText value="Search term:"/>
        <p:inputText id="searchInput" value="#{markTextController.searchTermUpdate}" placeholder="Enter search term">
            <p:ajax event="keyup" delay="300" update="markText" process="@this"/>
        </p:inputText>
    </h:panelGrid>

    <p:panel id="searchContainer" header="Searchable Content" style="margin-top: 20px">
        <p>#{markTextController.processedTextFirstPart}</p>
        <p>#{markTextController.processedTextSecondPart}</p>
    </p:panel>

    <p:panel id="backendDataPanel" header="Backend Data from Mark Event Listener" style="margin-top: 20px">
        <h:outputText value="Last Matched Terms: #{empty markTextController.lastMatchedTerms ? 'No data received yet' : markTextController.lastMatchedTerms}" />
        <br/>
        <h:outputText value="Last Positions: #{empty markTextController.lastPositions ? 'No data received yet' : markTextController.lastPositions}" />
    </p:panel>

    <pe:markText id="markText" for="searchContainer" value="#{markTextController.searchTermUpdate}" 
                 styleClass="marktext-highlight" caseSensitive="false">
        <p:ajax event="mark" listener="#{markTextController.onHighlight}" update="backendDataPanel messages" />
    </pe:markText>
            
Components and more
Documentation pe:markText
Attributes (move mouse over the names to see data types)
Name Description
accuracySearch accuracy level: 'partially', 'complementarily', or 'exactly'.Default is partially.
acrossElementsSearch across element boundaries.Default is false.
bindingAn EL expression referring to a server side UIComponent instance in a backing bean.Default is generated.
caseSensitiveWhether the search should be case sensitive.Default is false.
diacriticsWhether accented and unaccented letters are treated as the same during matching.Default is true.
excludeArray of exclusion selectors. Matches inside these elements will be ignored.
forSearch expression to resolve the target component to search within.
idUnique identifier of the component in a namingContainer.Default is generated.
iframesWhether matching should include same-origin iframe documents.Default is false.
iframesTimeoutMaximum wait time in milliseconds for iframe loading.Default is 5000.
renderedBoolean value to specify the rendering of the component, when set to false component will not be rendered.Default is true.
separateWordSearchWhether to match each word separately.Default is true.
styleInline style of the component.
styleClassStyle class of the component.
synonymsMap of synonyms for term matching.
valueSearch terms to highlight. Can be a string or array of strings.
widgetVarName of the client-side widget.
wildcardsWildcard matching mode: 'disabled'|'enabled'|'withSpaces'.Default is disabled.
PrimeFaces Extensions Showcase - © 2011-2025,PrimeFaces: 16.0.0-SNAPSHOT,PrimeFaces Extensions: 16.0.0-SNAPSHOT,JSF: Apache MyFaces Core 4.0 - Impl 4.0.3,Server: Apache Tomcat (TomEE)/10.1.52 (10.1.4),Build time: 2026-04-16 11:28