Theme
arya
luna-amber
luna-blue
luna-green
luna-pink
nova-dark
nova-light
saga
vela
AssignableParam
Task: Assign JavaScript parameters to a property in a bean. It can be done in a convenient way with pe:remoteCommand and pe:assignableParam. AssignableParam specifies a name of the parameter and an EL expression for a corresponding Java method (setter) the parameter will be applied to. It allows to attach a converter or define it as usual in JSF by converter attribute.


- - -

Source

<p:growl id="growl" showDetail="true"/>

    <pe:remoteCommand id="applyDataCommand" name="applyData" process="@this" update="subject date circle growl"
                      actionListener="#{remoteCommandController.parametersAssigned}">

        <pe:assignableParam name="subject" assignTo="#{remoteCommandController.subject}"/>
        <pe:assignableParam name="date" assignTo="#{remoteCommandController.date}">
            <f:convertDateTime type="both" pattern="MM/dd/yyyy HH:mm:ss"/>
        </pe:assignableParam>
        <pe:assignableParam name="circle" assignTo="#{remoteCommandController.circle}">
            <pe:convertJson/>
        </pe:assignableParam>
    </pe:remoteCommand>

    <script type="text/javascript">
        circle = {
            radius: 50,
            backgroundColor: "#FF0000",
            borderColor: "#DDDDDD",
            scaleFactor: 1.2
        };
        circle2 = {
            radius: 32,
            backgroundColor: "#FF0320",
            borderColor: "#DDFFFD",
            scaleFactor: 1.6
        };
    </script>

    <h:outputLabel for="subject" value="Subject: "/>
    <h:outputText id="subject" value="#{remoteCommandController.subject}"/>
    <br/>
    <h:outputLabel for="date" value="Date: "/>
    <h:outputText id="date" value="#{remoteCommandController.date}"/>
    <br/>
    <h:outputLabel for="circle" value="Circle: "/>
    <h:outputText id="circle"
                  value="#{remoteCommandController.circle.radius} - #{remoteCommandController.circle.backgroundColor} - #{remoteCommandController.circle.borderColor} - #{remoteCommandController.circle.scaleFactor}"/>
    <br/><br/>

    <p:commandButton value="Apply Data" type="button" onclick="applyData('hello world', '05/14/2007 12:55:42', JSON.stringify(circle))"/>
    <p:commandButton value="Apply Second Data" type="button" onclick="applyData('hello user', '07/11/2001 11:55:42', JSON.stringify(circle2))"/>
            
Components and more
Documentation
Attributes (move mouse over the names to see data types)
Name Description
id Unique identifier of the component in a namingContainer.
rendered Boolean value to specify the rendering of the component, when set to false component will not be rendered.
binding An EL expression referring to a server side UIComponent instance in a backing bean.
value Label of the component.
actionListener An actionlistener to process when command is executed.
action A method expression or a string outcome to process when command is executed.
immediate Boolean value that determines the phaseId of the action event, when true actions are processed at "Apply Request Values", when false at "Invoke Application" phase.
name Name of the command.
update Component(s) to update with ajax.
process Component(s) to process partially instead of whole view.
onstart Javascript handler to execute before ajax request is begins.
oncomplete Javascript handler to execute when ajax request is completed.
onerror Javascript handler to execute when ajax request fails.
onsuccess Javascript handler to execute when ajax request succeeds.
global Global ajax requests are listened by ajaxStatus component, setting global to false will not trigger ajaxStatus. Default value: true.
async When set to true, ajax requests are not queued. Default value: false.
partialSubmit When enabled, only values related to partially processed components would be serialized for ajax instead of whole form.
autoRun When set to true, command will be invoked on page load.
ignoreAutoUpdate If true, components which autoUpdate="true" will not be updated for this request. If not specified, or the value is false, no such indication is made.
partialSubmitFilter Selector to use when partial submit is on, default is ":input" to select all descendant inputs of a partially processed components.
ignoreComponentNotFound If true, unresolvable components referenced in the update/process attribute are ignored. Default is 'false' and therefore a ComponentNotFoundException will be thrown.
PrimeFaces Extensions Showcase - © 2011-2023,PrimeFaces: 14.0.5,PrimeFaces Extensions: 14.0.5,JSF: Apache MyFaces JSF-2.3 Core Impl 2.3.10,Server: jetty/9.4.36.v20210114,Build time: 2024-09-10 21:01