To change system messages
ApplicationResources.properties file at the root of the project will need to be edited. This file is referenced by the
org.kuali.kfs.KFSKeyConstants.java class. This class contains a list of public static final Strings which form the keys. These keys are used in the code to reference a system message. The values for these keys are the keys of the
If the String value that is used in the code is known, the error message can be found by finding the line in
org.kuali.kfs.KFSKeyConstants.java that contains that String. The key which matches the value of the String can then be found in the
ApplicationResources.properties file and the value of the system message changed there.
If the text of the message is known, then the process may be simpler. Find the line in
ApplicationResources.properties that has the value of the system message desired. Make any changes necessary. (Note: many system messages contain replacement parameters from
Here is an example of how the
In this example, the
Note: See Validation and Error Handling 2 for additional information regarding adding error messages to the error map.
You may wish to verify that you have changed the correct line, since it is possible for there to be duplicate instances of the same message listed under different keys.
To add a new message
Add the appropriate values to
KFSKeyConstants.java files. (See above for details) Cite the new message using the line
MessageFormat.format( SpringContext.getBean( KualiConfigurationService.class).getPropertyString( KFSKeyConstants.<KeyString> ), Object arguments);
<KeyString> is the key defined in the
The property.files key in the configuration.properties file controls this behavior. It accepts a comma delimited list of URL's that are used by Spring's Resource loader. This format has a special protocol of classpath for resources that are on the classpath (See the javadoc for org.springframework.core.io.DefaultResourceLoader). The remainder of the URL being the relative location with respect to the classpath. Use the file protocol for resources that are on the file system, but not on the classpath. Changing or adding to the value of this key will change where Kuali looks for these properties. See rfc3986 for details on URL's.
struts.message.resources value in the
configuration.properties file is used to define a comma delimited list of properties files that contain messages that struts can provide to jsp tags. The items in this list implement the
java.util.PropertyResourceBundle convention. The usual value is located in
ApplicationResources.properties and so struts (in version 1.x, this behavior is changed slightly in version 2.x) will use the
ApplicationResources.properties file to find message Strings. To change the message, modify the String value in
ApplicationResources.properties for the appropriate key.
The key is determined by inspecting the jsp tag. For example:
In this code excerpt
the keys in this html statement are
As before, if the message is known,
ApplicationResources.properties may be searched and directly modified.
The same caveats for KeyConstants apply: messages may contain
To create a new message, add an appropriate entry in
ApplicationResources.properties and use it in the jsp tag as shown below: