ProfileFormHandler component properties are generally configured correctly for most situations. You can reset these properties in two ways:

The following sections describe ProfileFormHandler properties that are


Specifies in milliseconds the amount of time to wait before responding when a user submits an incorrect password. The delay serves to protect against a password-guessing hammering attack, where a large number of passwords are provided successively in an attempt to guess the correct one. The default value is 1000 (1 second).


A Boolean, specifies whether to clear the value Dictionary on submission of a form to create a user profile. The default value is true.


A Boolean, specifies whether to clear the value Dictionary on submission of a form to update a user profile. The default value is true.


A Boolean property, determines whether the user must confirm a password by reentering it. In general, this property’s configured value should be false, so users only need to enter their passwords once—for example, on login. However, a new user registration page or reset password page should override the configured value and set confirmPassword to true, in order to prevent users from making mistakes when setting their passwords:

<dsp:input bean="ProfileFormHandler.confirmPassword" type="hidden"

When this property is set to true, a form must have two text input fields for entering and reentering the password (see the Create a User Profile example).


A Boolean property, determines whether the values in the ProfileFormHandler’s value Dictionary are initially set from the current user’s profile. If set to true, form fields are populated from the corresponding profile properties.

The property’s default setting is true. If set to false, form fields are not initially populated from the profile, which might yield undesired results. For example, if extractDefaultValuesFromProfile is false, a form for updating profile information, such as contact data, is initially rendered without existing profile data. This can yield empty fields and require the user to reenter data. If any form fields are left empty, the corresponding entries in the ProfileFormHandler’s value Dictionary are also empty, and on form submission are written back as null values to user’s profile.

In general, you should set this property to false only for appropriate pages such as a form to register new users, as follows:

<dsp:setvalue bean="ProfileFormHandler.extractDefaultValuesFromProfile"


An array property that lists profile properties to copy from the transient profile to the permanent profile on user login. These values overwrite any values previously stored in the user’s permanent profile.

For example, the multi-valued pagesViewed property in a user’s transient profile lists the names of pages that the user visited before logging in. If propertiesToCopyOnLogin includes pagesViewed, the names of the site pages a user visited before logging in are written to pagesViewed in the user’s permanent profile.

If a member visits five pages before logging in, the value of the pagesViewed property in the transient profile is a list of the names of these five pages. When the member logs in, this value is copied to the permanent profile, and the previously existing list of pages in pagesViewed is overwritten, rather than appended to.


An array that lists names of profile properties, where leading or trailing spaces are automatically removed on form submission. By default, this property includes the properties login and email.

For example, if a user includes a space before or after an email address when filling out the registration form, and trimProperties includes the email property, the extra space is automatically removed on form submission.


Used together with the update operation to ensure that the correct profile is updated. The default value is null; when a page containing the update operation is rendered, a hidden input tag can set this property to the repository ID of the current profile. For example:

<dsp:input bean="ProfileFormHandler.updateRepositoryId"
beanvalue="ProfileFormHandler.repositoryId" type="hidden"/>

On form submission, the update operation is called and the ProfileFormHandler compares the current user profile ID to updateRepositoryId. The current profile is updated only if the two IDs match. A mismatch typically occurs for two reasons:


A Boolean property, specifies whether to send a JMS message when a profile is updated. The ProfileUpdateTriggers fires a separate JMS event for every updated profile. The default value is false.


Holds the property update information when generating ProfileUpdateEvents.

For more information, see User Profiling Tools in the Working with User Profiles chapter of the ATG Personalization Programming Guide.


Generates the ProfileUpdateEvents when requested.