optimze page load
Hi there
My code everything works fine. But i need to optimze the time when it executes.i attached a single module with this .
My jsp file:
<%--
Created by IntelliJ IDEA.
User: MaksimBogdanov
Date: Jul 23, 2008
Time: 4:10:38 PM
To change this template use File | Settings | File Templates.
--%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ include file="../../util/header.jspf" %>
<link rel="stylesheet" href="css/ui.datepicker.css" type="text/css" media="screen" title="core css file" charset="utf-8"/>
<style type="text/css">
#modal_container {
padding: 5px;
background-color: #fff;
border: 1px solid #666;
overflow: auto;
font-family: "Lucida Grande", Verdana;
font-size: 12px;
color: #333;
text-align: left;
}
#modal_overlay {
background-color: #000;
}
</style>
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/ui.datepicker.js" type="text/javascript"></script>
<script src="js/validdate.js" type="text/javascript"></script>
<script src="js/prototype.js" type="text/javascript" ></script>
<script src="js/controlmodal.js" type="text/javascript" ></script>
<script type="text/javascript">
jQuery(function($) {
$("#dateDueStart").datepicker({showOn: "button", buttonImage: "images/calendar.gif", buttonText: "Due Date", buttonImageOnly: true});
$("#dateDueEnd").datepicker({showOn: "button", buttonImage: "images/calendar.gif", buttonText: "Due Date", buttonImageOnly: true});
});
function onLoad(){
if (document.getElementById("page_txf") != null)
{
document.getElementById("page_txf").value = <s:property value="page"/>;
}
setDisplayFilter();
//document.getElementById("searchList").focus();
if(document.getElementById("pageCountPerPageSelect") != null)
{
document.getElementById("pageCountPerPageSelect").value = <s:property value="itemsOnPage"/>;
}
if(document.getElementById("pageCountList") != null)
{
document.getElementById("pageCountList").value = <s:property value="page"/>;
}
}
function getArrow(column)
{
if (document.getElementById('sortColumn').value != column)
{
return "";
}
return (document.getElementById('sortOrder').value == 'asc') ? '↓' : '↑';
}
function sort(sortColumn)
{
var currentSColumn = document.getElementById('sortColumn').value;
var currentSOrder = document.getElementById('sortOrder').value;
document.getElementById('sortColumn').value = sortColumn;
document.getElementById('sortOrder').value = (currentSColumn != sortColumn || currentSOrder == 'desc') ? 'asc' : 'desc';
document.getElementById('workOrderListForm').submit();
}
function getGroupUser(){
document.getElementById('workOrderListForm').submit();
}
function gotoPage()
{
var pageNum = document.getElementById("pageCountList").value;
if (pageNum > 0 && pageNum < <s:property value="pageCount"/> + 1)
{
document.getElementById('page').value = pageNum;
document.getElementById('workOrderListForm').submit();
}
}
function gotoPageFirst()
{
document.getElementById('page').value = 1;
document.getElementById('workOrderListForm').submit();
}
function gotoPagePrev()
{
var pageNum = <s:property value="page"/>;
if (pageNum > 1)
{
document.getElementById('page').value = pageNum - 1;
document.getElementById('workOrderListForm').submit();
}
}
function gotoPageNext()
{
var pageNum = <s:property value="page"/>;
var pageCount = <s:property value="pageCount"/>;
if (pageNum < pageCount)
{
document.getElementById('page').value = pageNum + 1;
document.getElementById('workOrderListForm').submit();
}
}
function gotoPageLast()
{
document.getElementById('page').value = <s:property value="pageCount"/>;
document.getElementById('workOrderListForm').submit();
}
function setDisplayFilter()
{
var statusList = document.getElementById("workorderStatusSelect");
if (document.getElementById("allWO").checked){
document.getElementById("displayActive").value = "false";
if(statusList.options.length == 5){
var _newOption = document.createElement("OPTION");
statusList.options.add(_newOption);
_newOption.value = 7;
_newOption.innerHTML = "Completed";
}
}
if (document.getElementById("activeWO").checked){
document.getElementById("displayActive").value = "true";
if(statusList.options.length == 6){
if(statusList.options[5].selected){
statusList.options[5].selected = 1;
}
statusList.remove(5);
}
}
changeFormAction();
}
function submitFormAction()
{
document.getElementById("workOrderListForm").submit();
}
function editRRAction(a)
{
document.getElementById("requestRecordId").value = a.id;
document.currentRetrievalRequest.submit();
}
function editWOAction(a)
{
document.getElementById("workOrderId").value = a.id;
document.editWorkOrder.submit();
}
function viewWOAction(a)
{
document.getElementById("viewWorkOrderId").value = a.id;
document.viewWorkOrder.submit();
}
function changeSearch(){
var numberSearch = document.getElementById("numberSearch");
var select = document.getElementById("searchList");
var searchSelected = 0;
for (var j = 0; j < select.options.length; j++)
{
if (select.options[j].selected)
{
searchSelected = select.options[j].value;
}
}
numberSearch.value = "";
if (searchSelected != 3 && searchSelected != 4 && searchSelected != 5 && searchSelected != 0){
numberSearch.maxLength = 9;
}else{
numberSearch.maxLength = 50;
}
// checkNumber(numberSearch);
changeFormAction();
}
function checkNumber(input){
var select = document.getElementById("searchList");
var searchSelected = 0;
for (var j = 0; j < select.options.length; j++)
{
if (select.options[j].selected)
{
searchSelected = select.options[j].value;
}
}
if (searchSelected != 3 && searchSelected != 4){
var number = input.value;
var isError = false;
if(number != ""){
var i=0;
var digits="0123456789"
while(i<number.length){
if (digits.indexOf(number.charAt(i))<0){
document.getElementById("searchButton").disabled = true;
document.getElementById("searchButton").style.color = "silver";
alert("Please enter a correct number.");
isError = true;
break;
}
i++;
}
if (!isError){
document.getElementById("searchButton").disabled = false;
document.getElementById("searchButton").style.color = "white";
}
}else{
document.getElementById("searchButton").disabled = false;
document.getElementById("searchButton").style.color = "white";
}
}else{
document.getElementById("searchButton").disabled = false;
document.getElementById("searchButton").style.color = "white";
}
changeFormAction();
}
function checkDateStart(a)
{
if (a.value != "")
{
if (ValidateForm(a))
{
document.getElementById("hid_dateDueStart").value = a.value;
}
else
{
a.value = "";
document.getElementById("hid_dateDueStart").value = "";
}
} else {
document.getElementById("hid_dateDueStart").value = "";
}
changeFormAction();
}
function checkDateEnd(a)
{
if (a.value != "")
{
if (ValidateForm(a))
{
document.getElementById("hid_dateDueEnd").value = a.value;
}
else
{
a.value = "";
document.getElementById("hid_dateDueEnd").value = "";
}
} else {
document.getElementById("hid_dateDueEnd").value = "";
}
changeFormAction();
}
function changeFormAction() {
document.getElementById("page").value = 1;
}
function changePageSettings()
{
var pageCountPerPageSelect = document.getElementById("pageCountPerPageSelect").value;
document.getElementById('itemsOnPage').value = pageCountPerPageSelect;
document.getElementById("workOrderListForm").submit();
}
function showSearch(eleObj){
document.getElementById("searchArea").style.display="block";
document.getElementById("expSearchButton").style.display="none";
document.getElementById("colSearchButton").style.display="block";
}
function hideSearch(eleObj){
document.getElementById("expSearchButton").style.display="block";
document.getElementById("searchArea").style.display="none";
document.getElementById("colSearchButton").style.display="none";
}
function addNote(workOrderId){
document.getElementById('modal_link').href = 'addContactRecordModal.action?workOrderId='+workOrderId;
new Control.Modal('modal_link', {iframe: true, width: 860, height: 600});
document.getElementById('modal_link').onclick();
}
</script>
<s:head theme="ajax"/>
<s:form theme="simple" id="workOrderListForm">
<s:hidden name="page" id="page"/>
<s:hidden name="pageCount" id="pageCount"/>
<s:hidden name="sortOrder" id="sortOrder"/>
<s:hidden name="sortColumn" id="sortColumn"/>
<s:hidden name="displayActive" id="displayActive"/>
<s:hidden name="dateDueStart" id="hid_dateDueStart"/>
<s:hidden name="dateDueEnd" id="hid_dateDueEnd"/>
<s:hidden name="itemsOnPage" id="itemsOnPage"/>
<table class="mainTable" border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="">
<div style="padding-left:20px; padding-top:5px;">
<input id="expSearchButton" type="button" class="button_very_large"
style="margin-bottom:5px; margin-left:5px;"
value="Search for Individual WorkOrders" onclick="showSearch(this)"/>
<input id="colSearchButton" type="button" class="button"
style="margin-bottom:5px; margin-left:5px;display:none;"
value="No Search" onclick="hideSearch(this)"/>
</div>
<div id="searchArea" style="display:none">
<div class="formTopVeryLarge" ><span></span></div>
<div class="formCenterVeryLarge" >
<div class="formContent" >
<span class="largeFormName"><s:text name="label.search"/></span> <br/>
<table style="width: 100%" border="0" id="requestRecordTable">
<tr valign="top">
<td>
<s:text name="label.reference_type"/>:
</td>
<td>
<s:select id="searchList" list="selectMap" theme="simple" name="selectedByNum" cssClass="input"
onchange="changeSearch()" cssStyle="width:180px;"/>
</td>
<td>
<s:text name="label.enter_number"/>:
</td>
<td>
<s:textfield cssClass="input" id="numberSearch" name="number" theme="simple" onkeyup="checkNumber(this)" onchange="checkNumber(this)"/>
</td>
<td>
<div>
<s:if test="isUserInRole(4) || isUserInRole(5)">
Groups:
<s:select cssClass="input" list="logedInUser.directorGroups"
listKey="workGroupID" listValue="workGroupName"
headerKey="0" headerValue="-- Select --"
id="groupSelect"
name="selectedGroup"
onchange="getGroupUser()"
theme="simple" cssStyle="width: 180px;"/>
<br/>
<br/>
</s:if>
Group Members:
<s:select cssClass="input" list="groupUsers"
listKey="userID" listValue="lastName+\" \"+firstName"
headerKey="0" headerValue="-- Select --"
id="groupUserSelect"
name="groupUserSelected"
theme="simple" cssStyle="width: 180px;"/>
</div>
</td>
</tr>
<tr>
<td colspan="5" class="formName">
<s:text name="label.for_records_on"/>
</td>
</tr>
<tr>
<td style="width: 85px;">
<s:text name="label.last_name"/>:
</td>
<td style="width: 185px;">
<s:textfield cssClass="input" name="lastName" theme="simple" onchange="changeFormAction()"/>
</td>
<td style="width: 75px;">
<s:text name="label.first_name"/>:
</td>
<td style="width: 250px;">
<s:textfield cssClass="input" name="firstName" theme="simple" onchange="changeFormAction()"/>
</td>
<td> </td>
</tr>
<tr valign="baseline">
<td>
Display:
</td>
<td style="width: 240px;">
<s:if test="displayActive.equals('true')">
<input type="radio" id="activeWO" checked="true" name="1" onclick="setDisplayFilter()"/>Active Work Orders
<input type="radio" id="allWO" name="1" onclick="setDisplayFilter()"/>All Work Orders
</s:if>
<s:else>
<input type="radio" id="activeWO" name="1" onclick="setDisplayFilter()"/>Active Work Orders
<input type="radio" id="allWO" checked="true" name="1" onclick="setDisplayFilter()"/>All Work Orders
</s:else>
</td>
<td>
<s:text name="label.status"/>:
</td>
<td>
<s:select cssClass="input" list="statusList"
listKey="statusID" listValue="statusName"
headerKey="0" headerValue="-- Select --"
id="workorderStatusSelect"
name="statusIdSelected"
onchange="changeFormAction()"
theme="simple" cssStyle="width: 180px;"/>
</td>
<td> </td>
</tr>
<tr>
<td><s:text name="label.expected_date"/>:</td>
<td colspan="4">
<input type="text" id="dateDueStart" onchange="checkDateStart(this)" class="input" style="width: 100px; padding: 0; vertical-align: middle;" value="<s:property value="dateDueStart"/>"> - <input type="text" id="dateDueEnd" onchange="checkDateEnd(this)" class="input" style="width: 100px; padding: 0; vertical-align: middle;" value="<s:property value="dateDueEnd"/>"></td>
</tr>
<tr>
<td><s:text name="label.service_type"/>:</td>
<td colspan="4">
<s:select cssClass="input" list="serviceTypeList"
listKey="serviceTypeId" listValue="serviceTypeName"
headerKey="0" headerValue="-- Select --"
id="serviceTypeSelect"
name="serviceTypeIdSelected"
onchange="changeFormAction()"
theme="simple" cssStyle="width: 180px;"/>
</td>
</tr>
<tr>
<td colspan="5" style="padding-right: 10px; text-align: right;">
<s:submit cssClass="button_green" theme="simple" id="searchButton" name="method:search" key="button.search" />
</td>
</tr>
</table>
</div>
</div>
<div class="formBottomVeryLarge"><span></span></div>
</div>
<div style="padding-left:20px; padding-top:5px;">
<table cellpadding="0" cellspacing="0" style="border:0;">
<colgroup>
<col width="7px"/>
<col width="73px"/>
<col width="73px"/>
<s:if test="isUserInRole(2) || isUserInRole(4)">
<col width="80px"/>
<col width="100px"/>
<col width="100px"/>
<col width="150px"/>
<col width="100px"/>
<col width="100px"/>
</s:if>
<s:else>
<col width="149px"/>
<col width="149px"/>
<col width="149px"/>
</s:else>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
<s:if test="isUserInRole(2) || isUserInRole(4)">
<col width="50px"/>
</s:if>
<col width="7px"/>
</colgroup>
<tr>
<td class="headerL"> </td>
<td class="headerC">
<a style="color: white;" href="javascript:sort('workorder')">
WO #
</a>
<script type="text/javascript">
document.write(getArrow('workorder'));
</script>
</td>
<td class="headerC">
<a style="color: white;" href="javascript:sort('requestrecord')">
RR #
</a>
<script type="text/javascript">
document.write(getArrow('requestrecord'));
</script>
</td>
<td class="headerC">
<a style="color: white;" href="javascript:sort('forrecordson')">
<s:text name="label.for_record_on"/>
</a>
<script type="text/javascript">
document.write(getArrow('forrecordson'));
</script>
</td>
<s:if test="isUserInRole(2) || isUserInRole(4)">
<td class="headerC" align="center" style="text-decoration: underline;">
DOB
</td>
</s:if>
<td class="headerC">
<a style="color: white;" href="javascript:sort('facility')">
<s:text name="label.facility_name"/>
</a>
<script type="text/javascript">
document.write(getArrow('facility'));
</script>
</td>
<s:if test="isUserInRole(2) || isUserInRole(4)">
<td class="headerC" align="center" style="text-decoration: underline;">
Facility Phone
</td>
<td class="headerC" style="text-decoration: underline;">
<s:text name="label.service_rep"/>
</td>
</s:if>
<td class="headerC">
<a style="color: white;" href="javascript:sort('requestor')">
<s:text name="label.requestor"/>
</a>
<script type="text/javascript">
document.write(getArrow('requestor'));
</script>
</td>
<td class="headerC">
<s:if test="isUserInRole(2) || isUserInRole(4)">
<a style="color: white;" href="javascript:sort('duedate')">
<s:text name="label.expected_date"/>
</a>
<script type="text/javascript">
document.write(getArrow('duedate'));
</script>
</s:if>
<s:else>
</s:else>
</td>
<td class="headerC">
<a style="color: white;" href="javascript:sort('workorderstatus')">
<s:text name="label.status"/>
</a>
<script type="text/javascript">
document.write(getArrow('workorderstatus'));
</script>
</td>
<td class="headerC">
<a style="color: white;" href="javascript:sort('serviceType')">
<s:text name="label.service_type"/>
</a>
<script type="text/javascript">
document.write(getArrow('serviceType'));
</script>
</td>
<s:if test="isUserInRole(2) || isUserInRole(4)">
<td class="headerC" align="center" style="text-decoration: underline;">
Note
</td>
</s:if>
<td class="headerR"> </td>
</tr>
<s:if test="%{totalCount > itemsOnPage}">
</table>
<div class="scrollable_div2">
<table id="datatable" width="98%" cellpadding="0" cellspacing="0" style="border:0;">
<colgroup>
<col width="7px"/>
<col width="73px"/>
<col width="73px"/>
<s:if test="isUserInRole(2) || isUserInRole(4)">
<col width="80px"/>
<col width="100px"/>
<col width="100px"/>
<col width="150px"/>
<col width="100px"/>
<col width="100px"/>
</s:if>
<s:else>
<col width="149px"/>
<col width="149px"/>
<col width="149px"/>
</s:else>
<col width="150px"/>
<col width="150px"/>
<col width="150px"/>
<s:if test="isUserInRole(2) || isUserInRole(4)">
<col width="50px"/>
</s:if>
<col width="7px"/>
</colgroup>
</s:if>
<s:iterator value="wOListDto" status="rowstatus">
<s:if test="#rowstatus.odd == true">
<tr bgcolor="white">
</s:if>
<s:else>
<tr bgcolor="lightgrey">
</s:else>
<td class="tableRow" colspan="2" style="border-left: 1px solid #E0E0E0; padding-left: 7px;">
<s:if test="isUserInRole(2) || isUserInRole(4)">
<a href="#" onclick="editWOAction(this)" id="<s:property value="workOrderId"/>">
<s:property value="workOrderId"/>
</a>
</s:if>
<s:else>
<s:if test="(isUserInRole(3) || isUserInRole(5)) && (status == 'Submitted - Pending Documents' || status == 'Submitted - Rejected Documents' || status == 'Submitted') ">
<a href="#" onclick="editWOAction(this)" id="<s:property value="workOrderId"/>">
<s:property value="workOrderId"/>
</a>
</s:if>
<s:else>
<a href="#" onclick="viewWOAction(this)" id="<s:property value="workOrderId"/>">
<s:property value="workOrderId"/>
</a>
</s:else>
</s:else>
</td>
<td class="tableRow">
<a href="#" onclick="editRRAction(this)" id="<s:property value="requestRecordId"/>">
<s:property value="requestRecordId"/>
</a>
</td>
<td class="tableRow">
<s:property value="subjectLastName"/>,
<s:property value="subjectFirstName"/>
</td>
<s:if test="isUserInRole(2) || isUserInRole(4)">
<td class="tableRow" align="center">
<s:date name="birthDate" format="MM/dd/yyyy"/>
</td>
</s:if>
<td class="tableRow">
<s:property value="facilityName"/>
</td>
<s:if test="isUserInRole(2) || isUserInRole(4)">
<td class="tableRow" align="center">
<s:property value="phone"/>
</td>
<td class="tableRow">
<s:property value="serviceRepLastName"/>,
<s:property value="serviceRepFirstName"/>
</td>
</s:if>
<td class="tableRow">
<s:property value="requestorLastName"/>,
<s:property value="requestorFirstName"/>
</td>
<td class="tableRow">
<s:if test="isUserInRole(2) || isUserInRole(4)">
<s:date name="dateExpected" format="MM/dd/yyyy"/>
</s:if>
<s:else>
</s:else>
</td>
<td class="tableRow">
<script type="text/javascript">
document.write(getStatusText('<s:property value="status"/>'));
</script>
</td>
<td class="tableRow">
<s:property value="serviceType"/>
</td>
<s:if test="isUserInRole(2) || isUserInRole(4)">
<td class="tableRow" align="center">
<a href="#" onclick="addNote('<s:property value="workOrderId"/>')" style="text-decoration: none;">Click here to see notes</a>
</td>
</s:if>
<td class="tableRow" align="center" style="border-right: 1px solid #E0E0E0;"> </td>
</tr>
</s:iterator>
</table>
<s:if test="%{totalCount > itemsOnPage}">
</div>
</s:if>
<s:if test="%{pageCount > 1}">
<div class="pages">
<s:if test="page != 1">
<s:a href="#" onclick="gotoPagePrev()" theme="simple">< <s:text name="label.previous"/></s:a>
</s:if>
<s:else>
<span><</span> <span><s:text name="label.previous"/></span>
</s:else>
<s:if test="page != pageCount">
<s:a href="#" onclick="gotoPageNext()" theme="simple"><s:text name="label.next"/> ></s:a>
</s:if>
<s:else>
<span><s:text name="label.next"/> ></span>
</s:else>
<s:text name="label.page"/>
<s:select id="pageCountList" cssClass="small_select" list="pageCountList"
onchange="gotoPage()" theme="simple"/>
<s:text name="label.rows.per.page"/>
<select id="pageCountPerPageSelect" onchange="changePageSettings()" class="small_select">
<option value ="10">10</option>
<option value ="50">50</option>
<option value ="100">100</option>
<option value ="150">150</option>
</select>
</div>
</s:if>
</div>
</td>
</tr>
</table>
</s:form>
<s:form action="currentRetrievalRequest.action" name="currentRetrievalRequest" theme="simple">
<s:hidden name="requestRecordId" id="requestRecordId"/>
</s:form>
<s:form action="editWorkOrder.action" name="editWorkOrder" theme="simple">
<s:hidden name="workOrderId" id="workOrderId"/>
</s:form>
<s:form action="viewWorkOrder.action" name="viewWorkOrder" theme="simple">
<s:hidden name="workOrderId" id="viewWorkOrderId"/>
</s:form>
<s:a href="#" id="modal_link"/>
<%@ include file="../../util/footer.jspf" %>
My struts.xml file
__________________
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.i18n.encoding" value="UTF-8" />
<constant name="struts.custom.i18n.resources" value="applicationResources" />
<package name="default" extends="struts-default">
<interceptors>
<interceptor name="rejectedFileCounter" class="interceptors.RejectedFileCounter"></interceptor>
<interceptor-stack name="womsStack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="rejectedFileCounter"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="womsStack"></default-interceptor-ref>
<global-results>
<result name="admin-home" type="redirect">menu.action?mi=users</result>
<result name="serviceRep-home" type="redirect">menu.action?mi=requests&smi=my_requests_S</result>
<result name="requestor-home" type="redirect">menu.action?mi=home</result>
<result name="unauth_home" type="redirect-action">login.action</result>
<result name="accessDenied" type="redirect-action">accessDenied.action</result>
</global-results>
<action name="menu" class="actions.MenuAction" method="input">
<result name="home" type="redirect-action">home.action</result>
<result name="work_orders_new_work_order" type="redirect-action">statusRequestForServiceRep.action</result>
<result name="work_orders_my_work_queue" type="redirect-action">workOrderList.action</result>
<result name="work_orders_update_status_wo" type="redirect-action">editWorkOrder.action</result>
<result name="work_orders_print_correspondence" type="redirect-action">printCorrespondence.action</result>
<result name="work_orders_upload_authorization_document" type="redirect-action">uploadAuthorizationDocument.action</result>
<result name="work_orders_upload_response_document" type="redirect-action">uploadResponseDocument.action</result>
<result name="work_orders_edit_documents" type="redirect-action">editAttachments.action</result>
<result name="work_orders_delete_work_order" type="redirect-action">deleteWorkOrder.action</result>
<result name="users" type="redirect-action">usersManagement.action</result>
<result name="documents_attach_auth_doc" type="redirect-action">listWOForAuthorizationDoc.action</result>
<result name="requests_review_update_request" type="redirect-action">currentRetrievalRequest.action</result>
<result name="requests_my_requests_S" type="redirect-action">statusRequestForServiceRep.action</result>
<result name="requests_my_requests_R" type="redirect-action">statusRequestForRequestor.action</result>
<result name="firms" type="redirect-action">clientFirmManagement.action</result>
<result name="calendar" type="redirect-action">calendar.action</result>
<result name="requests_view_history" type="redirect-action">auditTrackingGeneral.action</result>
<result name="my_profile_update_profile" type="redirect-action">userEdit.action</result>
<result name="my_profile_change_password" type="redirect-action">changePassword.action</result>
<result name="contact_us_contact_service_rep" type="redirect-action">sendMessage.action</result>
<result name="contact_us_contact_information" type="redirect-action">contactUs.action</result>
<result name="requests_new_request" type="redirect-action">retrievalRequest.action</result>
<result name="change_history" type="redirect-action">auditTrackingGeneral.action</result>
<result name="documents_attach_documents_help" type="redirect-action">attachDocumentsHelp.action</result>
<result name="locations" type="redirect-action">locationList.action</result>
<result name="documents_rejected_file" type="redirect-action">documentServMgmntRejectFile.action</result>
<result name="documents_scheduler" type="redirect-action">documentServiceManagement.action</result>
<result name="documents_new_documents_available" type="redirect-action">newDocumentsAvailable.action</result>
<result name="work_group" type="redirect-action">requestorWorkGroup.action</result>
<result name="work_group_requestor_work_group" type="redirect-action">requestorWorkGroup.action</result>
<result name="work_group_service_rep_work_group" type="redirect-action">serviceRepWorkGroup.action</result>
</action>
<action name="login" class="actions.authorization.LoginAction" method="input">
<result name="input" type="dispatcher">index.jsp</result>
<result name="changePassword" type="redirect">menu.action?mi=my_profile&smi=change_password</result>
<result name="registration" type="redirect-action">registration.action</result>
<result name="userEdit" type="redirect">userEdit.action?userId=${userId}</result>
</action>
<action name="home" class="actions.HomeAction" method="input">
<result name="input" type="dispatcher">protected/home.jsp</result>
<result name="placeNewRequest" type="redirect-action">retrievalRequest.action</result>
<result name="reviewStatus_S" type="redirect-action">statusRequestForServiceRep.action</result>
<result name="reviewStatus_R" type="redirect-action">statusRequestForRequestor.action</result>
<result name="documents_new_documents_available" type="redirect-action">newDocumentsAvailable.action</result>
</action>
<action name="accessDenied" class="actions.AccessDeniedAction" method="input">
<result name="input" type="dispatcher">protected/accessDenied.jsp</result>
</action>
<action name="changePassword" class="actions.authorization.ChangePasswordAction" method="input">
<result name="input" type="dispatcher">protected/authorization/changePassword.jsp</result>
</action>
<action name="usersManagement" class="actions.usermanagement.UsersManagementAction" method="input">
<result name="input" type="dispatcher">protected/usermanagement/usersManagementForm.jsp</result>
</action>
<action name="userEdit" class="actions.usermanagement.UserAddAction" method="input">
<result name="input" type="dispatcher">protected/usermanagement/userAdd.jsp</result>
<result name="save" type="redirect-action">usersManagement.action</result>
<result name="cancel" type="redirect-action">usersManagement.action</result>
</action>
<action name="userAdd" class="actions.usermanagement.UserAddAction" method="input">
<result name="input" type="dispatcher">protected/usermanagement/userAdd.jsp</result>
<result name="registration-confirmation" type="redirect-action">registrationConfirmation.action</result>
<result name="save" type="redirect-action">usersManagement.action</result>
<result name="cancel" type="redirect-action">usersManagement.action</result>
</action>
<action name="searchClientFirm" class="actions.usermanagement.SearchClientFirmAction" method="input">
<result name="input" type="dispatcher">protected/usermanagement/searchClientFirm.jsp</result>
</action>
<action name="sendMessage" class="actions.usermanagement.SendMessageAction" method="input">
<result name="input" type="dispatcher">protected/usermanagement/sendMessage.jsp</result>
<result name="back" type="redirect-action">currentRetrievalRequest.action</result>
</action>
<action name="recoverPassword" class="actions.authorization.RecoverPasswordAction" method="input">
<result name="input" type="dispatcher">protected/authorization/recoverPassword.jsp</result>
<result name="recover" type="redirect-action">login.action</result>
<result name="back" type="redirect-action">login.action</result>
</action>
<action name="registration" class="actions.usermanagement.UserAddAction" method="input">
<result name="input" type="dispatcher">protected/usermanagement/userAdd.jsp</result>
<result name="registration-confirmation" type="redirect-action">registrationConfirmation.action</result>
<result name="save" type="dispatcher">userRegistrationConfirmation.jsp</result>
<result name="cancel" type="dispatcher">index.jsp</result>
</action>
<action name="registrationConfirmation" class="actions.usermanagement.RegistrationConfirmationAction" method="input">
<result name="input" type="dispatcher">protected/usermanagement/userRegistrationConfirmation.jsp</result>
<result name="back" type="dispatcher">index.jsp</result>
</action>
<action name="userDelete" class="actions.usermanagement.UserDeleteAction" method="input">
<result name="input" type="dispatcher">protected/usermanagement/userDelete.jsp</result>
</action>
<action name="retrievalRequest" class="actions.retrievalrequest.RetrievalRequestAction" method="input">
<result name="input" type="dispatcher">protected/retrievalrequest/retrievalRequest.jsp</result>
<result name="save" type="redirect-action">addWorkOrder.action</result>
<result name="statusRequestor" type="redirect">menu.action?mi=home</result>
<result name="statusServiceRep" type="redirect">menu.action?mi=requests&smi=my_requests_S</result>
</action>
<action name="editRetrievalRequest" class="actions.retrievalrequest.EditRetrievalRequestAction" method="input">
<result name="input" type="dispatcher">protected/retrievalrequest/editRetrievalRequest.jsp</result>
<result name="save" type="redirect-action">currentRetrievalRequest.action</result>
<result name="back" type="redirect-action">currentRetrievalRequest.action</result>
<result name="back_to_wo" type="redirect">menu.action?mi=requests&smi=my_requests_S</result>
<result name="back_to_rrlist" type="redirect">menu.action?mi=requests&smi=my_requests_R</result>
</action>
<action name="currentRetrievalRequest" class="actions.retrievalrequest.CurrentRetrievalRequestAction" method="input">
<result name="input" type="dispatcher">protected/retrievalrequest/currentRetrievalRequest.jsp</result>
<result name="addWorkOrder" type="redirect-action">addWorkOrder.action</result>
<result name="editRetrievalRequest" type="redirect-action">editRetrievalRequest.action</result>
<result name="back-requestor" type="redirect">menu.action?mi=requests&smi=my_requests_R</result>
<result name="back-adminOrServicerep" type="redirect">menu.action?mi=work_orders&smi=my_work_queue</result>
<result name="manageAttachments" type="redirect-action">assignAuthorizationDocuments.action</result>
<result name="uploadDocument" type="redirect-action">uploadAuthorizationDocument.action</result>
<result name="back_to_work_orders" type="redirect">menu.action?mi=work_orders&smi=my_work_queue</result>
<result name="statusRequestor" type="redirect">menu.action?mi=requests&smi=my_requests_R</result>
<result name="statusServiceRep" type="redirect">menu.action?mi=requests&smi=my_requests_S</result>
</action>
<action name="addWorkOrder" class="actions.retrievalrequest.AddWorkOrderAction" method="input">
<result name="input" type="dispatcher">protected/retrievalrequest/addWorkOrder.jsp</result>
<result name="save" type="redirect-action">currentRetrievalRequest.action</result>
<result name="back_to_requests" type="redirect-action">currentRetrievalRequest.action</result>
<result name="back_to_work_orders" type="redirect">menu.action?mi=work_orders&smi=new_work_order</result>
View Answers