Difference between revisions of "Using the request Object"
From AgileApps Support Wiki
imported>Aeric |
imported>Aeric |
||
(10 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
'''To obtain a record identifier from a <tt>request</tt> object sent by the platform:''' | '''To obtain a record identifier from a <tt>request</tt> object sent by the platform:''' | ||
:With the object ID and record ID, use the [[Java_API:Record_Handling#getRecord|getRecord]] API to retrieve the record. | |||
:<syntaxhighlight lang="java" enclose="div"> | :<syntaxhighlight lang="java" enclose="div"> | ||
<% | <% | ||
Line 23: | Line 24: | ||
'''To obtain a record identifier from a <tt>request</tt> object sent by a Custom Action button:''' | '''To obtain a record identifier from a <tt>request</tt> object sent by a Custom Action button:''' | ||
:This code gets the record IDs and uses the [[searchRecords]] API to retrieve the records: | |||
:<syntaxhighlight lang="java" enclose="div"> | :<syntaxhighlight lang="java" enclose="div"> | ||
<% | <% | ||
// Get the object ID and the comma separated list of record IDs | |||
String object_id = request.getParameter("object_id"); | String object_id = request.getParameter("object_id"); | ||
String selectedRecords = request.getParameter("selectedRecords"); | String selectedRecords = request.getParameter("selectedRecords"); | ||
// Break the comma-separated list into record IDs. | |||
// Join them with "OR" operands for use when searching for the records | |||
String filterCriteria = ""; | String filterCriteria = ""; | ||
if (selectedRecords != null) | if (selectedRecords != null) | ||
Line 38: | Line 41: | ||
if ( !"".equals(filterCriteria.trim())) | if ( !"".equals(filterCriteria.trim())) | ||
{ | { | ||
// Criteria string isn't empty, and we're adding another expression | |||
// Prefix the new expression with a boolean OR operator | |||
filterCriteria += " OR " | |||
} | } | ||
filterCriteria += "record_id = "+ st.nextToken(); | |||
} | } | ||
} | } | ||
Result | |||
// Use the filter criteria to fetch the selected records | |||
int resultCode = | // Here, we ask for the record_id and name fields | ||
Result results; | |||
results = Functions.searchRecords(object_id , "record_id,name", filterCriteria); | |||
int resultCode = results.getCode(); | |||
if (resultCode < 0) | if (resultCode < 0) | ||
{ | { | ||
Line 52: | Line 60: | ||
else if (resultCode == 0) | else if (resultCode == 0) | ||
{ | { | ||
// No records found. | // No records found. (This situation should never occur.) | ||
} | } | ||
else | else | ||
{ | { | ||
//Records retrieved successfully | // Records retrieved successfully | ||
ParametersIterator iterator = | // Process them here | ||
ParametersIterator iterator = results.getIterator(); | |||
while(iterator.hasNext()) | while(iterator.hasNext()) | ||
{ | { | ||
Line 63: | Line 72: | ||
String recordID = params.get("record_id"); | String recordID = params.get("record_id"); | ||
String recordName = params.get("name"); | String recordName = params.get("name"); | ||
// Take action according to your business logic | // Take additional action according to your business logic | ||
} | } | ||
} | } | ||
%> | %> | ||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 02:02, 14 August 2013
To get all of the parameters available in the request object, and their values:
- <syntaxhighlight lang="java" enclose="div">
<%
String[] params = request.getParameterValues(); for (int i=0; i<params.length; i++) { String paramName = params[i]; String paramValue = request.getParameter( paramName ); }
%> </syntaxhighlight>
To obtain a record identifier from a request object sent by the platform:
- With the object ID and record ID, use the getRecord API to retrieve the record.
- <syntaxhighlight lang="java" enclose="div">
<%
String object_id = request.getParameter("object_id"); String record_id = request.getParameter("record_id");
%> </syntaxhighlight>
To obtain a record identifier from a request object sent by a Custom Action button:
- This code gets the record IDs and uses the searchRecords API to retrieve the records:
- <syntaxhighlight lang="java" enclose="div">
<%
// Get the object ID and the comma separated list of record IDs String object_id = request.getParameter("object_id"); String selectedRecords = request.getParameter("selectedRecords");
// Break the comma-separated list into record IDs. // Join them with "OR" operands for use when searching for the records String filterCriteria = ""; if (selectedRecords != null) { StringTokenizer st = new StringTokenizer(selectedRecords,","); while (st.hasMoreTokens()) { if ( !"".equals(filterCriteria.trim())) { // Criteria string isn't empty, and we're adding another expression // Prefix the new expression with a boolean OR operator filterCriteria += " OR " } filterCriteria += "record_id = "+ st.nextToken(); } }
// Use the filter criteria to fetch the selected records // Here, we ask for the record_id and name fields Result results; results = Functions.searchRecords(object_id , "record_id,name", filterCriteria); int resultCode = results.getCode(); if (resultCode < 0) { // Error occurred } else if (resultCode == 0) { // No records found. (This situation should never occur.) } else { // Records retrieved successfully // Process them here ParametersIterator iterator = results.getIterator(); while(iterator.hasNext()) { Parameters params = iterator.next(); String recordID = params.get("record_id"); String recordName = params.get("name"); // Take additional action according to your business logic } }
%> </syntaxhighlight>