I wouldn't doubt it :) Unfortunately, I know the glacial pace we upgrade versions of anything around here... case in point: we're still stuck with JDK 1.3.1. Argh! I think the chances of migrating to Struts beyond 1.1 is virtually nil. Is it really that bad to read though?? It's verbose, but I don't find it particuarly bad to read :)

David G. Friedman wrote:
Frank,

Nothing jumps out at me from skimming over that struts config, other than
this thought: the new Struts 1.2.4 wildcard mapping might make that config
file much more readable. :(

Regards,
David

-----Original Message-----
From: Frank W. Zammetti [mailto:[EMAIL PROTECTED]
Sent: Friday, October 22, 2004 7:35 PM
To: Struts Users Mailing List
Subject: Re: Request parameters not making it to Actions?


Hi David,

Nope, no redirects anywhere.  When the NPE's occur, as near as I can
tell, only some of them are missing (which actually makes Craig's
suggestion more likely, maybe I missed an error path through the
code)... I do dump all the request parameters to the log on every
request (don't worry, that's a config parameter that can be turned on
and off real-time, I'm not crazy enough to leave it on all the time :)
).  Here's my config file... Note that I replaced the name of the
application with myapp and the name of the company with mycompany... Not
that I think it would have been any big deal to leave them as-is, I
figure better safe then sorry when it comes to matters of potential
confidentiality violations... Also, keep in mind this is converted from
a non-Struts application, so some of what is done here naybe isn't what
I'd normally do but was the easiest way to make the conversion happen.


<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD
Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd";>

<struts-config>

   <global-forwards>

     <forward name="reload" path="/jsp/reloadSystem.jsp" />
     <forward name="exception" path="/jsp/exception.jsp" />

   </global-forwards>

   <action-mappings>

<!-- **********************************************************************
      Web Services
***************************************************************************
-->

     <!-- All Web Service requests are targeted to this entry -->
       <action path="/myappWebServices"
type="com.mycompany.myapp.actions.WebServicesAction" />

<!-- **********************************************************************
      Image Server
***************************************************************************
-->

     <!-- This is called to server a BLOB from the database -->
       <action path="/app/BLOBServer"
type="com.mycompany.myapp.actions.BLOBServerAction" />

<!-- **********************************************************************
      API
***************************************************************************
-->

     <!-- Called to load the API frame at system startup -->
       <action path="/app/loadAPI"
type="com.mycompany.myapp.actions.APIAction" >
         <forward name="defaultForward" path="/jsp/api.jsp" />
       </action>

<!-- **********************************************************************
      Logon
***************************************************************************
-->

     <!-- Called from the Logon page when user tried to logon -->
       <action path="/app/logon"
type="com.mycompany.myapp.actions.LogonAction">
         <forward name="logonOK" path="/jsp/logonOK.jsp" />
       </action>

     <!-- Called to change a user's password -->
       <action path="/app/changePassword"
type="com.mycompany.myapp.actions.ChangePasswordAction" />

<!-- **********************************************************************
      Log off
***************************************************************************
-->

     <!-- Called from the Home page to log off the user -->
       <action path="/app/logoff"
type="com.mycompany.myapp.actions.LogoffAction" >
         <forward name="defaultForward" path="/jsp/logoff.jsp" />
       </action>

<!-- **********************************************************************
      Home
***************************************************************************
-->

     <!-- Called to show the Home page -->
       <action path="/app/home"
type="com.mycompany.myapp.actions.HomeAction">
         <forward name="defaultForward" path="/jsp/home.jsp" />
       </action>

     <!-- Called when a new client is selected from the drop-down -->
       <action path="/app/changeClient"
type="com.mycompany.myapp.actions.ChangeClientAction">
         <forward name="defaultForward" path="/jsp/home.jsp" />
       </action>

<!-- **********************************************************************
      Menu: myapp
***************************************************************************
-->

     <!-- -->
       <action path="/app/menumyappCreatemyapp"
type="com.mycompany.myapp.actions.myappFindAccountAction">
         <forward name="defaultForward" path="/jsp/myappFindAccount.jsp" />
       </action>

    <!-- -->
       <action path="/app/menumyappRecallmyapp"
type="com.mycompany.myapp.actions.RecallmyappAction">
         <forward name="defaultForward" path="/jsp/recallmyapp.jsp" />
       </action>

     <!-- -->
       <action path="/app/menumyappCalloutReasonQueue"
type="com.mycompany.myapp.actions.CalloutQueuesAction">
         <forward name="defaultForward" path="/jsp/calloutQueues.jsp" />
       </action>

     <!-- -->
       <action path="/app/menumyappCalloutResponseQueue"
type="com.mycompany.myapp.actions.CalloutQueuesAction">
         <forward name="defaultForward" path="/jsp/calloutQueues.jsp" />
       </action>

     <!-- -->
       <action path="/app/menumyappCheckProcessing"
type="com.mycompany.myapp.actions.CPFindmyappAction">
         <forward name="defaultForward" path="/jsp/cpFindmyapp.jsp" />
       </action>

<!-- **********************************************************************
      Menu: Administration
***************************************************************************
-->

     <!-- Called to show the Administration: Business Calendar screen -->
       <action path="/app/menuAdminBusinessCalendar"
type="com.mycompany.myapp.actions.AdminBusinessCalendarAction">
         <forward name="defaultForward"
path="/jsp/adminBusinessCalendar.jsp" />
       </action>

     <!-- -->
       <action path="/app/menuAdminClients"
type="com.mycompany.myapp.actions.AdminClientsAction">
         <forward name="defaultForward" path="/jsp/adminClients.jsp" />
       </action>

     <!-- -->
       <action path="/app/menuAdminDeliveryFirms"
type="com.mycompany.myapp.actions.AdminDeliveryFirmsAction">
         <forward name="defaultForward"
path="/jsp/adminDeliveryFirms.jsp" />
       </action>

     <!-- -->
       <action path="/app/menuAdminDeliveryFirmMasters"
type="com.mycompany.myapp.actions.AdminDeliveryFirmMastersAction">
         <forward name="defaultForward"
path="/jsp/adminDeliveryFirmMasters.jsp" />
       </action>

     <!-- -->
       <action path="/app/menuAdminFunds"
type="com.mycompany.myapp.actions.AdminFundsAction">
         <forward name="defaultForward" path="/jsp/adminFunds.jsp" />
       </action>

     <!-- -->
       <action path="/app/menuAdminUsers"
type="com.mycompany.myapp.actions.AdminUsersAction">
         <forward name="defaultForward" path="/jsp/adminUsers.jsp" />
       </action>

     <!-- -->
       <action path="/app/menuAdminSystemMessage"
type="com.mycompany.myapp.actions.AdminSystemMessageAction">
         <forward name="defaultForward"
path="/jsp/adminSystemMessage.jsp" />
       </action>

     <!-- -->
       <action path="/app/menuAdminSystemControl"
type="com.mycompany.myapp.actions.AdminSystemControlAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/menuAdminUserGroups"
type="com.mycompany.myapp.actions.AdminUserGroupsAction">
         <forward name="defaultForward" path="/jsp/adminUserGroups.jsp" />
       </action>

<!-- **********************************************************************
      Menu: Management
***************************************************************************
-->

     <!-- -->
       <action path="/app/menuManagementLetterProduction"
type="com.mycompany.myapp.actions.ManagementLetterProductionAction">
         <forward name="defaultForward"
path="/jsp/managementLetterProduction.jsp" />
       </action>

     <!-- -->
       <action path="/app/menuManagementCheckProduction"
type="com.mycompany.myapp.actions.ManagementCheckProductionAction">
         <forward name="defaultForward"
path="/jsp/managementCheckProduction.jsp" />
       </action>

     <!-- -->
       <action path="/app/menuManagementCheckMaintenance"
type="com.mycompany.myapp.actions.ManagementCheckMaintenanceAction">
         <forward name="defaultForward"
path="/jsp/managementCheckMaintenance.jsp" />
       </action>

     <!-- -->
       <action path="/app/menuManagementManagementReports"
type="com.mycompany.myapp.actions.ManagementManagementReportsAction">
         <forward name="defaultForward"
path="/jsp/managementManagementReports.jsp" />
       </action>

     <!-- -->
       <action path="/app/menuManagementMessageOfTheDay"
type="com.mycompany.myapp.actions.ManagementMessageOfTheDayAction">
         <forward name="defaultForward"
path="/jsp/managementMessageOfTheDay.jsp" />
       </action>

<!-- **********************************************************************
      Menu: System
***************************************************************************
-->

     <!-- -->
       <action path="/app/menuSystemAbout"
type="com.mycompany.myapp.actions.SystemAboutAction">
         <forward name="defaultForward" path="/jsp/systemAbout.jsp" />
       </action>

<!-- **********************************************************************
      Administration: Business Calendar
***************************************************************************
-->

     <!-- Called to change the year being worked with on the Administration:
          Business Calendar screen -->
       <action path="/app/adminBusinessCalendarChangeYear"
type="com.mycompany.myapp.actions.AdminBusinessCalendarAction">
         <forward name="defaultForward"
path="/jsp/adminBusinessCalendar.jsp" />
       </action>

     <!-- Called to save the non-business days for the year being worked
with on
          the Administration: Business Calendar screen -->
       <action path="/app/adminBusinessCalendarSave"
type="com.mycompany.myapp.actions.AdminBusinessCalendarSaveAction">
         <forward name="defaultForward"
path="/jsp/adminBusinessCalendar.jsp" />
       </action>

<!-- **********************************************************************
      Administration: Clients
***************************************************************************
-->

     <!-- -->
       <action path="/app/adminClientsFind"
type="com.mycompany.myapp.actions.AdminClientsFindAction">
         <forward name="defaultForward" path="/jsp/adminClients.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminClientsGetInfo"
type="com.mycompany.myapp.actions.AdminClientsGetInfoAction">
         <forward name="defaultForward" path="/jsp/adminClients.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminClientsDelete"
type="com.mycompany.myapp.actions.AdminClientsDeleteAction">
         <forward name="defaultForward" path="/jsp/adminClients.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminClientsSave"
type="com.mycompany.myapp.actions.AdminClientsSaveAction">
         <forward name="defaultForward" path="/jsp/adminClients.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminClientsManagementCompanyAdd"
type="com.mycompany.myapp.actions.AdminClientsManagementCompanyAddAction">
         <forward name="defaultForward" path="/jsp/adminClients.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminClientsManagementCompanyDelete"
type="com.mycompany.myapp.actions.AdminClientsManagementCompanyDeleteAction"

         <forward name="defaultForward" path="/jsp/adminClients.jsp" />
       </action>

<!-- **********************************************************************
      Administration: Delivery Firms
***************************************************************************
-->

     <!-- -->
       <action path="/app/adminDeliveryFirmsFind"
type="com.mycompany.myapp.actions.AdminDeliveryFirmsFindAction">
         <forward name="defaultForward"
path="/jsp/adminDeliveryFirms.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminDeliveryFirmsGetInfo"
type="com.mycompany.myapp.actions.AdminDeliveryFirmsGetInfoAction">
         <forward name="defaultForward"
path="/jsp/adminDeliveryFirms.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminDeliveryFirmsDelete"
type="com.mycompany.myapp.actions.AdminDeliveryFirmsDeleteAction">
         <forward name="defaultForward"
path="/jsp/adminDeliveryFirms.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminDeliveryFirmsSave"
type="com.mycompany.myapp.actions.AdminDeliveryFirmsSaveAction">
         <forward name="defaultForward"
path="/jsp/adminDeliveryFirms.jsp" />
       </action>

<!-- **********************************************************************
      Administration: Delivery Firm Masters
***************************************************************************
-->

     <!-- -->
       <action path="/app/adminDeliveryFirmMastersFind"
type="com.mycompany.myapp.actions.AdminDeliveryFirmMastersFindAction">
         <forward name="defaultForward"
path="/jsp/adminDeliveryFirmMasters.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminDeliveryFirmMastersGetInfo"
type="com.mycompany.myapp.actions.AdminDeliveryFirmMastersGetInfoAction">
         <forward name="defaultForward"
path="/jsp/adminDeliveryFirmMasters.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminDeliveryFirmMastersDelete"
type="com.mycompany.myapp.actions.AdminDeliveryFirmMastersDeleteAction">
         <forward name="defaultForward"
path="/jsp/adminDeliveryFirmMasters.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminDeliveryFirmMastersSave"
type="com.mycompany.myapp.actions.AdminDeliveryFirmMastersSaveAction">
         <forward name="defaultForward"
path="/jsp/adminDeliveryFirmMasters.jsp" />
       </action>

<!-- **********************************************************************
      Administration: Funds
***************************************************************************
-->

     <!-- -->
       <action path="/app/adminFundsFind"
type="com.mycompany.myapp.actions.AdminFundsFindAction">
         <forward name="defaultForward" path="/jsp/adminFunds.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminFundsGetInfo"
type="com.mycompany.myapp.actions.AdminFundsGetInfoAction">
         <forward name="defaultForward" path="/jsp/adminFunds.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminFundsDelete"
type="com.mycompany.myapp.actions.AdminFundsDeleteAction">
         <forward name="defaultForward" path="/jsp/adminFunds.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminFundsSave"
type="com.mycompany.myapp.actions.AdminFundsSaveAction">
         <forward name="defaultForward" path="/jsp/adminFunds.jsp" />
       </action>

<!-- **********************************************************************
      Administration: Users
***************************************************************************
-->

     <!-- -->
       <action path="/app/adminUsersFind"
type="com.mycompany.myapp.actions.AdminUsersFindAction">
         <forward name="defaultForward" path="/jsp/adminUsers.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminUsersGetInfo"
type="com.mycompany.myapp.actions.AdminUsersGetInfoAction">
         <forward name="defaultForward" path="/jsp/adminUsers.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminUsersResetPassword"
type="com.mycompany.myapp.actions.AdminUsersResetPasswordAction">
         <forward name="defaultForward" path="/jsp/adminUsers.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminUsersUnlockAccount"
type="com.mycompany.myapp.actions.AdminUsersUnlockAccountAction">
         <forward name="defaultForward" path="/jsp/adminUsers.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminUsersSave"
type="com.mycompany.myapp.actions.AdminUsersSaveAction">
         <forward name="defaultForward" path="/jsp/adminUsers.jsp" />
       </action>

<!-- **********************************************************************
      Administration: User Groups
***************************************************************************
-->

     <!-- -->
       <action path="/app/adminUserGroupsFind"
type="com.mycompany.myapp.actions.AdminUserGroupsFindAction">
         <forward name="defaultForward" path="/jsp/adminUserGroups.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminUserGroupsGetInfo"
type="com.mycompany.myapp.actions.AdminUserGroupsGetInfoAction">
         <forward name="defaultForward" path="/jsp/adminUserGroups.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminUserGroupsDelete"
type="com.mycompany.myapp.actions.AdminUserGroupsDeleteAction">
         <forward name="defaultForward" path="/jsp/adminUserGroups.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminUserGroupsSave"
type="com.mycompany.myapp.actions.AdminUserGroupsSaveAction">
         <forward name="defaultForward" path="/jsp/adminUserGroups.jsp" />
       </action>

<!-- **********************************************************************
      Administration: System Message
***************************************************************************
-->

     <!-- -->
       <action path="/app/adminSystemMessageClear"
type="com.mycompany.myapp.actions.AdminSystemMessageClearAction">
         <forward name="defaultForward"
path="/jsp/adminSystemMessage.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemMessageSave"
type="com.mycompany.myapp.actions.AdminSystemMessageSaveAction">
         <forward name="defaultForward"
path="/jsp/adminSystemMessage.jsp" />
       </action>

<!-- **********************************************************************
      Administration: System Control
***************************************************************************
-->

     <!-- -->
       <action path="/app/adminSystemControlRunThreadDBInit"
type="com.mycompany.myapp.actions.AdminSystemControlRunThreadAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlRunThreadAging"
type="com.mycompany.myapp.actions.AdminSystemControlRunThreadAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlRunThreadManagersStatistics"
type="com.mycompany.myapp.actions.AdminSystemControlRunThreadAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlRunThreadMemoResender"
type="com.mycompany.myapp.actions.AdminSystemControlRunThreadAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlSave"
type="com.mycompany.myapp.actions.AdminSystemControlSaveAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlResetStatistics"
type="com.mycompany.myapp.actions.AdminSystemControlResetStatisticsAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlLogoUpload"
type="com.mycompany.myapp.actions.AdminSystemControlLogoUploadAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlSignatureUpload"
type="com.mycompany.myapp.actions.AdminSystemControlSignatureUploadAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlLogoDelete"
type="com.mycompany.myapp.actions.AdminSystemControlLogoDeleteAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlSignatureDelete"
type="com.mycompany.myapp.actions.AdminSystemControlSignatureDeleteAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlSelectManagementReport"
type="com.mycompany.myapp.actions.AdminSystemControlAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlDeleteManagementReport"
type="com.mycompany.myapp.actions.AdminSystemControlMaintManagementReportAct
ion">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlUpdateManagementReport"
type="com.mycompany.myapp.actions.AdminSystemControlMaintManagementReportAct
ion">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlInsertManagementReport"
type="com.mycompany.myapp.actions.AdminSystemControlMaintManagementReportAct
ion">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlRefreshStatistics"
type="com.mycompany.myapp.actions.AdminSystemControlAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlRefreshThreads"
type="com.mycompany.myapp.actions.AdminSystemControlAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlRefreshActiveUsers"
type="com.mycompany.myapp.actions.AdminSystemControlAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlSelectCheckTemplate"
type="com.mycompany.myapp.actions.AdminSystemControlAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlDeleteCheckTemplate"
type="com.mycompany.myapp.actions.AdminSystemControlMaintCheckTemplateAction
">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlUpdateCheckTemplate"
type="com.mycompany.myapp.actions.AdminSystemControlMaintCheckTemplateAction
">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlInsertCheckTemplate"
type="com.mycompany.myapp.actions.AdminSystemControlMaintCheckTemplateAction
">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlSelectLetterTemplate"
type="com.mycompany.myapp.actions.AdminSystemControlAction">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlDeleteLetterTemplate"
type="com.mycompany.myapp.actions.AdminSystemControlMaintLetterTemplateActio
n">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlUpdateLetterTemplate"
type="com.mycompany.myapp.actions.AdminSystemControlMaintLetterTemplateActio
n">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

     <!-- -->
       <action path="/app/adminSystemControlInsertLetterTemplate"
type="com.mycompany.myapp.actions.AdminSystemControlMaintLetterTemplateActio
n">
         <forward name="defaultForward"
path="/jsp/adminSystemControl.jsp" />
       </action>

<!-- **********************************************************************
      Management: Management Reports
***************************************************************************
-->

     <!-- -->
       <action path="/app/managementManagementReportsParameters"
type="com.mycompany.myapp.actions.ManagementManagementReportsParametersActio
n">
         <forward name="defaultForward"
path="/jsp/managementManagementReportsParameters.jsp" />
       </action>

     <!-- -->
       <action path="/app/managementManagementReportsGenerate"
type="com.mycompany.myapp.actions.ManagementManagementReportsGenerateAction"

       </action>

<!-- **********************************************************************
      Management: Letter Production
***************************************************************************
-->

     <!-- -->
       <action path="/app/managementLetterProductionLoad"
type="com.mycompany.myapp.actions.ManagementLetterProductionLoadAction">
         <forward name="defaultForward"
path="/jsp/managementLetterProduction.jsp" />
       </action>

     <!-- -->
       <action path="/app/managementLetterProductionGenerate"
type="com.mycompany.myapp.actions.ManagementLetterProductionGenerateAction">
       </action>

<!-- **********************************************************************
      Management: Check Production
***************************************************************************
-->

     <!-- -->
       <action path="/app/managementCheckProductionLoad"
type="com.mycompany.myapp.actions.ManagementCheckProductionLoadAction">
         <forward name="defaultForward"
path="/jsp/managementCheckProduction.jsp" />
       </action>

     <!-- -->
       <action path="/app/managementCheckProductionGenerate"
type="com.mycompany.myapp.actions.ManagementCheckProductionGenerateAction">
       </action>

<!-- **********************************************************************
      Management: Check Maintenance
***************************************************************************
-->

     <!-- -->
       <action path="/app/managementCheckMaintenanceFind"
type="com.mycompany.myapp.actions.ManagementCheckMaintenanceFindAction">
         <forward name="defaultForward"
path="/jsp/managementCheckMaintenance.jsp" />
       </action>

     <!-- -->
       <action path="/app/managementCheckMaintenanceGetInfo"
type="com.mycompany.myapp.actions.ManagementCheckMaintenanceGetInfoAction">
         <forward name="defaultForward"
path="/jsp/managementCheckMaintenance.jsp" />
       </action>

     <!-- -->
       <action path="/app/managementCheckMaintenanceDelete"
type="com.mycompany.myapp.actions.ManagementCheckMaintenanceDeleteAction">
         <forward name="defaultForward"
path="/jsp/managementCheckMaintenance.jsp" />
       </action>

<!-- **********************************************************************
      Management: Message Of The Day
***************************************************************************
-->

     <!-- -->
       <action path="/app/managementMessageOfTheDayClear"
type="com.mycompany.myapp.actions.ManagementMessageOfTheDayClearAction">
         <forward name="defaultForward"
path="/jsp/managementMessageOfTheDay.jsp" />
       </action>

     <!-- -->
       <action path="/app/managementMessageOfTheDaySave"
type="com.mycompany.myapp.actions.ManagementMessageOfTheDaySaveAction">
         <forward name="defaultForward"
path="/jsp/managementMessageOfTheDay.jsp" />
       </action>

<!-- **********************************************************************
      Recall myapp
***************************************************************************
-->

     <!-- -->
       <action path="/app/recallmyappFind"
type="com.mycompany.myapp.actions.RecallmyappFindAction">
         <forward name="defaultForward" path="/jsp/recallmyapp.jsp" />
       </action>

     <!-- -->
       <action path="/app/recallmyappGetInfo"
type="com.mycompany.myapp.actions.RecallmyappGetInfoAction">
         <forward name="defaultForward" path="/jsp/myappSummary.jsp" />
       </action>

<!-- **********************************************************************
      myappFindAccount
***************************************************************************
-->

     <!-- -->
       <action path="/app/myappFindAccountContinue"
type="com.mycompany.myapp.actions.myappFindAccountContinueAction">
         <forward name="defaultForward"
path="/jsp/myappVerifyAccount.jsp" />
         <forward name="myappFindAccountAccountNotFound"
path="/jsp/myappFindAccount.jsp" />
       </action>

<!-- **********************************************************************
      myappVerifyAccount
***************************************************************************
-->

     <!-- -->
       <action path="/app/myappVerifyAccountContinue"
type="com.mycompany.myapp.actions.myappVerifyAccountContinueAction">
         <forward name="defaultForward" path="/jsp/myappDeliveryFirm.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappVerifyAccountRefresh"
type="com.mycompany.myapp.actions.myappFindAccountContinueAction">
         <forward name="defaultForward"
path="/jsp/myappVerifyAccount.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappVerifyAccountBack"
type="com.mycompany.myapp.actions.myappFindAccountAction">
         <forward name="defaultForward" path="/jsp/myappFindAccount.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappVerifyAccountSideNav"
type="com.mycompany.myapp.actions.myappVerifyAccountSideNavAction">
         <forward name="deliveryFirm" path="/jsp/myappDeliveryFirm.jsp" />
         <forward name="transferDetails"
path="/jsp/myappTransferDetails.jsp" />
         <forward name="allocation" path="/jsp/myappAllocation.jsp" />
         <forward name="summary" path="/jsp/myappSummary.jsp" />
       </action>

<!-- **********************************************************************
      myappDeliveryFirm
***************************************************************************
-->

     <!-- -->
       <action path="/app/myappDeliveryFirmContinue"
type="com.mycompany.myapp.actions.myappDeliveryFirmContinueAction">
         <forward name="defaultForward"
path="/jsp/myappTransferDetails.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappDeliveryFirmBack"
type="com.mycompany.myapp.actions.myappVerifyAccountAction">
         <forward name="defaultForward"
path="/jsp/myappVerifyAccount.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappDeliveryFirmFind"
type="com.mycompany.myapp.actions.myappDeliveryFirmFindAction">
         <forward name="defaultForward" path="/jsp/myappDeliveryFirm.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappDeliveryFirmGetInfo"
type="com.mycompany.myapp.actions.myappDeliveryFirmGetInfoAction">
         <forward name="defaultForward" path="/jsp/myappDeliveryFirm.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappDeliveryFirmSideNav"
type="com.mycompany.myapp.actions.myappDeliveryFirmSideNavAction">
         <forward name="verifyAccount" path="/jsp/myappVerifyAccount.jsp" />
         <forward name="transferDetails"
path="/jsp/myappTransferDetails.jsp" />
         <forward name="allocation" path="/jsp/myappAllocation.jsp" />
         <forward name="summary" path="/jsp/myappSummary.jsp" />
       </action>

<!-- **********************************************************************
      myappTransferDetails
***************************************************************************
-->

     <!-- -->
       <action path="/app/myappTransferDetailsContinue"
type="com.mycompany.myapp.actions.myappTransferDetailsContinueAction">
         <forward name="defaultForward" path="/jsp/myappAllocation.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappTransferDetailsBack"
type="com.mycompany.myapp.actions.myappDeliveryFirmAction">
         <forward name="defaultForward" path="/jsp/myappDeliveryFirm.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappTransferDetailsSideNav"
type="com.mycompany.myapp.actions.myappTransferDetailsSideNavAction">
         <forward name="verifyAccount" path="/jsp/myappVerifyAccount.jsp" />
         <forward name="deliveryFirm" path="/jsp/myappDeliveryFirm.jsp" />
         <forward name="allocation" path="/jsp/myappAllocation.jsp" />
         <forward name="summary" path="/jsp/myappSummary.jsp" />
       </action>

<!-- **********************************************************************
      myappAllocation
***************************************************************************
-->

     <!-- -->
       <action path="/app/myappAllocationContinue"
type="com.mycompany.myapp.actions.myappAllocationContinueAction">
         <forward name="defaultForward" path="/jsp/myappSummary.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappAllocationBack"
type="com.mycompany.myapp.actions.myappTransferDetailsAction">
         <forward name="defaultForward"
path="/jsp/myappTransferDetails.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappAllocationSideNav"
type="com.mycompany.myapp.actions.myappAllocationSideNavAction">
         <forward name="verifyAccount" path="/jsp/myappVerifyAccount.jsp" />
         <forward name="deliveryFirm" path="/jsp/myappDeliveryFirm.jsp" />
         <forward name="transferDetails"
path="/jsp/myappTransferDetails.jsp" />
         <forward name="summary" path="/jsp/myappSummary.jsp" />
       </action>

<!-- **********************************************************************
      myapp Summary
***************************************************************************
-->

     <!-- -->
       <action path="/app/myappSummaryBack"
type="com.mycompany.myapp.actions.myappAllocationAction">
         <forward name="defaultForward" path="/jsp/myappAllocation.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappSummaryCancel"
type="com.mycompany.myapp.actions.myappSummaryCancelAction">
        <forward name="defaultForward" path="/jsp/myappSummary.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappSummaryDelete"
type="com.mycompany.myapp.actions.myappSummaryDeleteAction">
         <forward name="defaultForward" path="/app/home.myapp" />
       </action>

     <!-- -->
       <action path="/app/myappSummarySaveCreate"
type="com.mycompany.myapp.actions.myappSummarySaveAction">
         <forward name="defaultForward" path="/jsp/myappFindAccount.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappSummarySaveMaintenance"
type="com.mycompany.myapp.actions.myappSummarySaveAction">
         <forward name="defaultForward" path="/jsp/myappSummary.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappSummaryFollowUpCallSave"
type="com.mycompany.myapp.actions.myappSummaryFollowUpCallSaveAction">
         <forward name="defaultForward" path="/jsp/myappSummary.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappSummarySideNav"
type="com.mycompany.myapp.actions.myappSummarySideNavAction">
         <forward name="verifyAccount" path="/jsp/myappVerifyAccount.jsp" />
         <forward name="deliveryFirm" path="/jsp/myappDeliveryFirm.jsp" />
         <forward name="transferDetails"
path="/jsp/myappTransferDetails.jsp" />
         <forward name="allocation" path="/jsp/myappAllocation.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappSummaryCallout"
type="com.mycompany.myapp.actions.myappSummaryCalloutAction">
         <forward name="defaultForward" path="/jsp/callout.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappSummaryCalloutSave"
type="com.mycompany.myapp.actions.myappSummaryCalloutSaveAction">
         <forward name="defaultForward" path="/jsp/myappSummary.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappSummaryMemo"
type="com.mycompany.myapp.actions.myappSummaryMemoAction">
         <forward name="defaultForward" path="/jsp/adHocMemoInput.jsp" />
       </action>

     <!-- -->
       <action path="/app/myappSummaryMemoSave"
type="com.mycompany.myapp.actions.myappSummaryMemoSaveAction">
         <forward name="defaultForward" path="/jsp/myappSummary.jsp" />
       </action>

<!-- **********************************************************************
      myapp Maintenance
***************************************************************************
-->

     <!-- -->
       <action path="/app/maintenancemyappRecall"
type="com.mycompany.myapp.actions.RecallmyappGetInfoAction">
         <forward name="defaultForward" path="/jsp/myappSummary.jsp" />
       </action>

<!-- **********************************************************************
      cpFindmyapp
***************************************************************************
-->

     <!--  -->
       <action path="/app/cpFindmyappFind"
type="com.mycompany.myapp.actions.CPFindmyappFindAction">
         <forward name="defaultForward" path="/jsp/cpFindmyapp.jsp" />
       </action>

     <!--  -->
       <action path="/app/cpFindmyappGetInfo"
type="com.mycompany.myapp.actions.CPFindmyappGetInfoAction">
         <forward name="defaultForward" path="/jsp/cpDetails.jsp" />
       </action>

<!-- **********************************************************************
      cpDetails
***************************************************************************
-->

     <!--  -->
       <action path="/app/cpDetailsContinue"
type="com.mycompany.myapp.actions.CPDetailsContinueAction">
         <forward name="defaultForward" path="/jsp/cpCheckDeposit.jsp" />
       </action>

     <!-- -->
     <action path="/app/cpDetailsShowCallout"
type="com.mycompany.myapp.actions.CPDetailsShowCalloutAction">
       <forward name="defaultForward" path="/jsp/callout.jsp" />
     </action>

     <!-- -->
       <action path="/app/cpDetailsMemo"
type="com.mycompany.myapp.actions.CPDetailsMemoAction">
         <forward name="defaultForward" path="/jsp/adHocMemoInput.jsp" />
       </action>

     <!-- -->
       <action path="/app/cpDetailsMemoSave"
type="com.mycompany.myapp.actions.CPDetailsMemoSaveAction">
         <forward name="defaultForward" path="/jsp/cpDetails.jsp" />
       </action>

<!-- **********************************************************************
      cpCheckDeposit
***************************************************************************
-->

     <!--  -->
       <action path="/app/cpCheckDepositBack"
type="com.mycompany.myapp.actions.CPDetailsAction">
         <forward name="defaultForward" path="/jsp/cpDetails.jsp" />
       </action>

     <!--  -->
       <action path="/app/cpCheckDepositCallout"
type="com.mycompany.myapp.actions.CPCheckDepositCalloutAction">
         <forward name="defaultForward" path="/jsp/callout.jsp" />
       </action>

     <!--  -->
       <action path="/app/cpCheckDepositCalloutSave"
type="com.mycompany.myapp.actions.CPCheckDepositCalloutSaveAction">
         <forward name="defaultForward" path="/jsp/cpFindmyapp.jsp" />
       </action>

     <!--  -->
       <action path="/app/cpCheckDepositOverride"
type="com.mycompany.myapp.actions.CPCheckDepositOverrideAction">
         <forward name="defaultForward"
path="/jsp/cpOverrideReasonFundSelect.jsp" />
       </action>

     <!--  -->
       <action path="/app/cpCheckDepositContinue"
type="com.mycompany.myapp.actions.CPCheckDepositContinueAction">
         <forward name="defaultForward" path="/jsp/cpDisbursement.jsp" />
       </action>

<!-- **********************************************************************
      cpDisbursement
***************************************************************************
-->

     <!--  -->
       <action path="/app/cpDisbursementBackCheckDeposit"
type="com.mycompany.myapp.actions.CPCheckDepositAction">
         <forward name="defaultForward" path="/jsp/cpCheckDeposit.jsp" />
       </action>

     <!--  -->
       <action path="/app/cpDisbursementBackOverrideAllocation"
type="com.mycompany.myapp.actions.CPOverrideAllocationAction">
         <forward name="defaultForward"
path="/jsp/cpOverrideAllocation.jsp" />
       </action>

     <!--  -->
     <action path="/app/cpDisbursementSaveType"
type="com.mycompany.myapp.actions.CPDisbursementSaveTypeAction">
       <forward name="defaultForward"
path="/jsp/cpDisbursementSaveType.jsp" />
     </action>

     <!--  -->
       <action path="/app/cpDisbursementSave"
type="com.mycompany.myapp.actions.CPDisbursementSaveAction">
         <forward name="defaultForward" path="/jsp/cpFindmyapp.jsp" />
       </action>

     <!-- -->
     <action path="/app/cpDisbursementSaveDuplicateCheck"
type="com.mycompany.myapp.CPDisbursementSaveDuplicateCheckAction">
       <forward name="defaultForward" path="/jsp/cpDisbursement.jsp" />
     </action>

     <!-- -->
       <action path="/app/cpDisbursementAmountMismatch"
type="com.mycompany.myapp.actions.CPCheckDepositAction">
         <forward name="defaultForward" path="/jsp/cpCheckDeposit.jsp" />
       </action>

<!-- **********************************************************************
      cpOverrideReasonFundSelect
***************************************************************************
-->

     <!--  -->
       <action path="/app/cpOverrideReasonFundSelectBack"
type="com.mycompany.myapp.actions.CPCheckDepositAction">
         <forward name="defaultForward" path="/jsp/cpCheckDeposit.jsp" />
       </action>

     <!--  -->
       <action path="/app/cpOverrideReasonFundSelectContinue"
type="com.mycompany.myapp.actions.CPOverrideReasonFundSelectContinueAction">
         <forward name="defaultForward"
path="/jsp/cpOverrideAllocation.jsp" />
       </action>

<!-- **********************************************************************
      cpOverrideAllocation
***************************************************************************
-->

     <!--  -->
       <action path="/app/cpOverrideAllocationBack"
type="com.mycompany.myapp.actions.CPOverrideReasonFundSelectAction">
         <forward name="defaultForward"
path="/jsp/cpOverrideReasonFundSelect.jsp" />
       </action>

     <!--  -->
       <action path="/app/cpOverrideAllocationContinue"
type="com.mycompany.myapp.actions.CPOverrideAllocationContinueAction">
         <forward name="defaultForward" path="/jsp/cpDisbursement.jsp" />
       </action>


<!-- ********************************************************************** Callout Queues *************************************************************************** -->

     <!--  -->
       <action path="/app/openCalloutSummary"
type="com.mycompany.myapp.actions.RecallmyappGetInfoAction">
         <forward name="defaultForward" path="/jsp/myappSummary.jsp" />
       </action>

     <!--  -->
       <action path="/app/openCalloutDoSpecial"
type="com.mycompany.myapp.actions.CalloutDoSpecialAction">
         <forward name="defaultForward"
path="/app/menumyappCalloutResponseQueue.myapp" />
       </action>

     <!--  -->
       <action path="/app/openCalloutCPCheckDeposit"
type="com.mycompany.myapp.actions.CPFindmyappGetInfoAction">
         <forward name="defaultForward"
path="/app/openCalloutCPCheckDepositContinue.myapp" />
       </action>

     <!--  -->
       <action path="/app/openCalloutCPCheckDepositContinue"
type="com.mycompany.myapp.actions.CPCheckDepositCalloutAction">
         <forward name="defaultForward" path="/jsp/cpCheckDeposit.jsp" />
       </action>

   </action-mappings>

   <plug-in className="com.mycompany.myapp.plugins.AppInit" />

</struts-config>


David G. Friedman wrote:

Frank,

Do any of your forwards have redirect="true" in them and point to a JSP?
That would do a browser redirect to make the browser go to a JSP,

resulting

in lost parameters. Any change of posting part of your struts-config.xml

for

us to skim over and point anything out that looks unusual?  When you get
NPE's from missing parameters, do you have other parameters that were
submitted but some that are missing?  Are you log printing to be able to
verify that whenever it does happen, that only some parameters are missing
and not just all?

Regards,
David

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Friday, October 22, 2004 3:17 PM
To: [EMAIL PROTECTED]
Subject: Re: Request parameters not making it to Actions?


I should point out, before anyone calls me on it, that this is strictly an internal app that is IE-specific (as per the overlords of the company's orders). Therefore, there's no chance that user disabled scripting or anything, and indeed they wouldn't have been able to even log in if they had. So, the validations before submission are most definitely firing.

I'm

convinced they aren't broke, but it's possible they could be... I'm
proceeding under the belief that they aren't though and therefore an

invalid

submission is not being made at any point (unless it's a navigation

problem,

i.e., back, which is still a possibility)

--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com

On Fri, October 22, 2004 3:10 pm, [EMAIL PROTECTED] said:


Hello all... I've got a strange situation that's been bugging me for a
while.  First, some quick background:

I wrote an application about two years ago that was based on a proprietary
framework that has now been converted to Struts.  One of the things this
proprietary framework was missing was the concept of ActionForms.
Instead, when you hit your controller classes, you dealt with the Request
object directly to get your parameters.

Since as usual I had to get the conversion done in far less time than it
should have been done in, I basically would up not really using
ActionForms except to transfer data back to the view.  In other words, no
validation is don in the ActionForms, and they are not auto-populateed by
Struts.  My Actions still deal directly with Request, I just populate the
ActionForm on the way out to the JSP (I intended to use the ActionForms
more "properly" later, but that time has never presented itself).

So, now I come to the issue... It seems that every now and again (average
of about 25 times per 50,000 transaction) I get NPE's in my Actions and
they are always because some value that was expected to be in Request is
null.

Now, the front-end does a bunch of validation (JavaScript) and I've gone
over it a ton of times and there doesn't seem to be any way a user could
submit a form without filling in required elements (and most of them
should be blanks anyway, not nulls).  I thought about maybe they were
using the Back button in some crazy way, but the app opens in a new
chromless window, so they would have to be using a keyboard shortcut.
I've tried every crazy thing I could think of to break it, but it never
seems to break.  I have NEVER ONCE replicated one of these problems.

So, my question comes down to this... has anyone ever seen a situation
where a Struts-based app running on Tomcat (5.0.25 I believe) would "lose"
request data, either as a fault of Struts or of Tomcat?  Could it be some
Tomcat tuning issue? (I will ask this same question on the Tomcat list,
but I wanted to start here first).

Any thoughts would be appreciated.  Fortunately no one is complaining
because the app is generally quite stable, but these once-in-a-while
exceptions are pissing me off more than anything else!
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]






-- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to