Prob with struts config parse

I tried to integrate a struts application into a portel by means of using a portlet,i followed the instructions given in the below link
http://e-docs.bea.com/workshop/docs81/doc/en/core/index.html
but when i select the struts config file, and click next, getting "cannot parse the struts config file" error from worshop 9.2. Please guide

Looks good to me.
What does the full error look like?
What OS is it on? (maybe a character set conversion issue?)

Similar Messages

  • Problem with struts-config

    hi all,
    i have using struts. i have written struts-config file which is giving some error while start the tomcat 5.xxx
    struts-config shown below
    <?xml version="1.0" encoding="ISO-8859-1" ?>
        <!DOCTYPE struts-config PUBLIC
                  "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
                  "http://struts.apache.org/dtds/struts-config_1_2.dtd">
         <struts-config>
        <message-resources parameter="resources.application"/>
        <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor" />
        <plug-in className="org.apache.struts.tiles.TilesPlugin">
            <set-property property="definitions-config"
                value="/WEB-INF/tiles-admin-defs.xml"/>
            <set-property property="moduleAware" value="true"/>
            <set-property property="definitions-parser-validate" value="true"/>
        </plug-in>
        </struts-config>error is
    must match "(display-name?,description?,data-sources?,form-beans?,global-excep
    ons?,global-forwards?,action-mappings?,controller?,message-resources*,plug-in*
    org.xml.sax.SAXParseException: The content of element type "struts-config" mus
    match "(display-name?,description?,data-sources?,form-beans?,global-exceptions
    global-forwards?,action-mappings?,controller?,message-resources*,plug-in*)".
    at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(
    known Source)
    at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    please tell me what did i made wrong

    Maybe it makes more sense to ask here
    http://jguru.com/forums/Struts
    Or at the Jakarta mailing list for Struts.

  • ERROR PARSING MY STRUTS-CONFIG.XML...

    Hi everyOne!
    I need to get this connection:
    ("jdbc:mysql://localhost:3306/netinfoa_amt?characterEncoding=UTF-8&useUnicode=true", "root", "****");
    using <data-sources> declared on my STRUTS-CONFIG.XML
    no problem with:
    <data-sources>
        <data-source type="org.apache.commons.dbcp.BasicDataSource">
          <set-property property="autoCommit"      value="false"/>
          <set-property property="driverClassName" value="org.gjt.mm.mysql.Driver"/>
          <set-property property="url"               value="jdbc:mysql://localhost:3306/netinfoa_amt" />
          <set-property property="username" value="root"/>
          <set-property property="password" value="****"/>
        </data-source>
      </data-sources>But i have this problem: org.xml.sax.SAXParseException: The reference to entity "useUnicode" must end with the ';' delimiter.
    trying:
    <data-sources>
        <data-source type="org.apache.commons.dbcp.BasicDataSource">
          <set-property property="autoCommit"      value="false"/>
          <set-property property="driverClassName" value="org.gjt.mm.mysql.Driver"/>
          <set-property property="url"               value="jdbc:mysql://localhost:3306/netinfoa_amt?characterEncoding=UTF-8&useUnicode=true" />
          <set-property property="username" value="root"/>
          <set-property property="password" value="****"/>
        </data-source>
      </data-sources>I also tried
    <set-property property="useUnicode" value="true" />
    <set-property property="characterEncoding" value="UTF-8" />
    but it doesn't work... any idea?
    thank!

    Usually, a 503 means that WebLogic can't find the compiler it needs to compile your JSPs. Check your weblogic.xml for the compiler param (forgot the exact name) in the jsp section (<jsp:descriptor>).
    If the above doesn't apply to your case, I'm afraid I can't be of much further help...

  • Struts-config.xml not being parsed properly

    Hi,
    I'm new to struts and am having a weird problem. I've researched a lot and talked to a lot of developers and I still have a problem. The problem is as follows.
    I am getting the following error when deploying my ear file on weblogic8.1:
    <BEA-101216> <Servlet: "action" failed to preload on startup in Web application: "bpa".
    javax.servlet.UnavailableException: Parsing error processing resource path
         at org.apache.struts.action.ActionServlet.handleConfigException(ActionServlet.java:1035)
         at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:1014)
         at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:955)
         at org.apache.struts.action.ActionServlet.init(ActionServlet.java:470)
         at javax.servlet.GenericServlet.init(GenericServlet.java:258)
         at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:993)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:869)
         at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:848)
         at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:787)
         at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3252)
         at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3197)
         at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3174)
         at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:5647)
         at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:869)
         at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2022)
         at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2063)
         at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2592)
         at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2515)
         at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2317)
         at weblogic.management.deploy.slave.SlaveDeployer$Task.checkAutoCommit(SlaveDeployer.java:2399)
         at weblogic.management.deploy.slave.SlaveDeployer$Task.prepare(SlaveDeployer.java:2311)
         at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2479)
         at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
         at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
         at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
         at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170).
    Now, when looking at the struts-config file, everything seems fine. However, when i remove the <form-bean> declarations, i don't get this error. Of course, without the form-bean declarations, the application comes to a halt when it needs them. I've tried almost everything under the sun and nothing has worked so far, i'm sure it's probably something simple and i'll feel like a complete idiot when it's figured out, but until then, can anyone help???
    The config file looks as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <!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>
    <!-- ========== Form Bean Definitions =================================== -->
    <form-beans>
    <!-- Register User form bean -->
    <form-bean name="registerCustomerForm" type="au.com.bpa.web.RegisterCustomerForm" />
         <!-- List Applications - customer - form bean -->
    <form-bean name="listApplicationsForm" type="au.com.bpa.web.ListApplicationsForm" />
         <!-- List Applications - cts - form bean -->
    <form-bean name="listApplicationsCTSForm" type="au.com.bpa.web.ListApplicationsCTSForm" />
         <!-- List Applications - call centre - form bean -->
    <form-bean name="listApplicationsCallCentreForm" type="au.com.bpa.web.ListApplicationsCallCentreForm" />
    <!-- Single Residence Application form bean -->
         <form-bean name="singleResidenceApplicationForm" type="au.com.bpa.web.SingleResidenceApplicationForm" />
    <!-- Single Residence Application Processing form bean -->
         <form-bean name="singleResidenceApplicationProcessingForm" type="au.com.bpa.web.SingleResidenceApplicationProcessingForm" />
         <!-- Upload Floor Plan Attachment form bean -->
    <form-bean name="uploadArchitecturalFloorPlanAttachmentForm" type="au.com.bpa.web.UploadAttachmentForm" />
         <!-- Upload Site Plan Attachment form bean -->
    <form-bean name="uploadSitePlanAttachmentForm" type="au.com.bpa.web.UploadAttachmentForm" />
         <!-- Upload Other Attachment form bean -->
    <form-bean name="uploadAttachmentForm" type="au.com.bpa.web.UploadAttachmentForm" />
         <!-- Remove Attachment(s) form bean -->
    <form-bean name="removeAttachmentsForm" type="au.com.bpa.web.RemoveAttachmentsForm" />
         <!-- Reject Application form bean -->
         <form-bean name="rejectApplicationForm" type="org.apache.struts.action.DynaActionForm">
              <form-property name="applicationPK" type="java.lang.Integer" />
              <form-property name="comments" type="java.lang.String" />
         </form-bean>
         <!-- Edit restricted names form bean -->
         <form-bean name="editRestrictedNamesForm" type="org.apache.struts.validator.DynaValidatorForm">
              <form-property name="category" type="java.lang.String" />
              <form-property name="name" type="java.lang.String" />
         </form-bean>
         <!-- Find by Id form bean -->
         <form-bean name="findApplicationByIdForm" type="org.apache.struts.action.DynaActionForm">
              <form-property name="idType" type="java.lang.String" initial="applicationId" />
              <form-property name="idValue" type="java.lang.String" />
         </form-bean>
         <!-- Business Reports form bean -->
         <form-bean name="businessReportsForm" type="org.apache.struts.action.DynaActionForm">
              <form-property name="reportType" type="java.lang.String" />
              <form-property name="from" type="java.lang.String" />
              <form-property name="to" type="java.lang.String" />
         </form-bean>
    </form-beans>
    <!-- ========== Global Exception Definitions ============================== -->
    <global-exceptions>
    <exception type="java.lang.Exception" key="errors.java.lang.Exception" path="/errors/applicationException.jsp" />
    </global-exceptions>
    <!-- ========== Global Forward Definitions ============================== -->
    <global-forwards>
    <forward name="invalidSession" path="/errors/invalidSession.jsp" />
    <forward name="applicationException" path="/errors/applicationException.jsp" />
         <forward name="notFound" path="/errors/notFound.jsp" />
         <forward name="logoff" path="/common/logoff" />
         <forward name="goSingleResidenceApplication" path="/common/goSingleResidenceApplication.do" />
         <forward name="viewApplication" path="/common/viewApplication.do" />
         <!-- customer -->
         <forward name="customer/viewApplicationList" path="/customer/viewApplicationList.do" />
         <!-- cts -->
         <forward name="cts/viewApplicationList" path="/cts/viewApplicationList.do" />
         <forward name="cts/unlockAndExit" path="/cts/unlockAndExit.do" />
         <!-- call centre -->
         <forward name="call-centre/viewApplicationList" path="/call-centre/viewApplicationList.do" />
    </global-forwards>
    <!-- ========== Action Mapping Definitions ============================== -->
    <action-mappings>
         <!-- Common Actions - All Roles -->
         <!-- saves a request token -->
         <action path="/goRegisterCustomer" type="au.com.bpa.web.SaveTokenAction">
    <forward name="success" path="/registerCustomer.jsp" />
    </action>
    <!-- Register a User -->
    <action path="/registerCustomer" type="au.com.bpa.web.RegisterCustomerAction" name="registerCustomerForm" input="/registerCustomer.jsp" scope="request" validate="true">
    <forward name="success" path="/registerCustomer-success.jsp" />
         <forward name="invalidToken" path="/errors/invalidToken.jsp" />
    </action>
         <!-- Process a logon -->
         <action path="/common/logon" type="au.com.bpa.web.LogonAction" scope="request" validate="true">
    <forward name="guest" path="/common/disclaimer.jsp" />
         <forward name="customer" path="/common/disclaimer.jsp" />
         <forward name="cts" path="/cts/index.jsp" />
         <forward name="admin" path="/admin/index.jsp" />
         <forward name="browserError" path="/errors/browserError.jsp" />
    </action>
    <!-- Single Residence Application Form -->
    <action path="/common/singleResidenceApplication" type="au.com.bpa.web.SingleResidenceApplicationAction" name="singleResidenceApplicationForm" scope="request" input="/common/singleResidenceApplication.jsp" validate="true">
         <forward name="submitted" path="/common/singleResidenceApplication-submitted.jsp" />
         <forward name="manual" path="/common/singleResidenceApplication-manualValidationRequired.jsp" />
         <forward name="invalidToken" path="/errors/invalidToken.jsp" />
    </action>
         <!-- submit a single residence app - saves a request token -->
         <action path="/common/goSingleResidenceApplication" type="au.com.bpa.web.SaveTokenAction">
    <forward name="success" path="/common/singleResidenceApplication.jsp" />
    </action>
    <!-- Upload Architectural Floor Plan Attachment Form -->
    <action path="/common/uploadArchitecturalFloorPlanAttachment" type="au.com.bpa.web.UploadAttachmentAction" name="uploadArchitecturalFloorPlanAttachmentForm" scope="request">
    <exception type="java.lang.Exception" key="errors.singleResidenceApplication.file" path="/common/addAttachment-error.jsp" />
         <forward name="success" path="/common/addAttachment-success.jsp" />
         <forward name="fileTypeError" path="/common/addAttachment-fileTypeError.jsp" />
         <forward name="applicationException" path="/common/addAttachment-error.jsp" />
    </action>
    <!-- Upload Site Plan Attachment Form -->
    <action path="/common/uploadSitePlanAttachment" type="au.com.bpa.web.UploadAttachmentAction" name="uploadSitePlanAttachmentForm" scope="request">
    <exception type="java.lang.Exception" key="errors.singleResidenceApplication.file" path="/common/addAttachment-error.jsp" />
         <forward name="success" path="/common/addAttachment-success.jsp" />
         <forward name="fileTypeError" path="/common/addAttachment-fileTypeError.jsp" />
         <forward name="applicationException" path="/common/addAttachment-error.jsp" />
    </action>
    <!-- Upload Attachment Form -->
    <action path="/common/uploadAttachment" type="au.com.bpa.web.UploadAttachmentAction" name="uploadAttachmentForm" scope="request">
    <exception type="java.lang.Exception" key="errors.singleResidenceApplication.file" path="/common/addAttachment-error.jsp" />
         <forward name="success" path="/common/addAttachment-success.jsp" />
         <forward name="fileTypeError" path="/common/addAttachment-fileTypeError.jsp" />
         <forward name="applicationException" path="/common/addAttachment-error.jsp" />
    </action>
    <!-- Remove Attachment Form -->
    <action path="/common/removeAttachments" type="au.com.bpa.web.RemoveAttachmentsAction" name="removeAttachmentsForm" scope="request" validate="true">
         <forward name="success" path="/common/removeAttachments-success.jsp" />
    </action>
         <!-- view / edit an application -->
         <action path="/common/viewApplication" type="au.com.bpa.web.ViewApplicationAction">
    <forward name="editSingleResidenceApplication" path="/common/singleResidenceApplication.jsp" />
         <forward name="viewSingleResidenceApplication" path="/common/singleResidenceApplicationView.jsp" />
    </action>
         <!-- Customer Actions - Customer Role -->
         <!-- view list of submitted applications - customer -->
         <action path="/customer/viewApplicationList" type="au.com.bpa.web.ListApplicationsAction" name="listApplicationsForm" scope="request" validate="false">
    <forward name="success" path="/customer/listApplications.jsp" />
    </action>
         <action path="/customer/findApplicationById" type="au.com.bpa.web.ListApplicationsAction" name="findApplicationByIdForm" scope="request" validate="false">
    <forward name="success" path="/customer/listApplications.jsp" />
    </action>
         <!-- CTS Staff Actions - CTS Role -->
         <!-- view list of applications - cts -->
         <action path="/cts/viewApplicationList" type="au.com.bpa.web.ListApplicationsCTSAction" name="listApplicationsCTSForm" scope="request" validate="false">
    <forward name="success" path="/cts/listApplications.jsp" />
    </action>
         <action path="/cts/findApplicationById" type="au.com.bpa.web.ListApplicationsCTSAction" name="findApplicationByIdForm" scope="request" validate="false">
    <forward name="success" path="/cts/listApplications.jsp" />
    </action>
         <!-- save user preferences -->
         <action path="/cts/saveUserPreferences" type="au.com.bpa.web.SaveUserPreferencesAction">
    <forward name="success" path="/cts/listApplications.jsp" />
    </action>
         <!-- process an application -->
         <action path="/cts/processApplication" type="au.com.bpa.web.ProcessApplicationAction">
    <forward name="success" path="/cts/processApplication.jsp" />
         <forward name="noApplicationsAvailable" path="/cts/processApplication-noApplicationsAvailable.jsp" />
         <forward name="sewerInGroupApplication" path="/cts/sewerInGroupApplication.jsp" />
         <forward name="insufficientFunds" path="/cts/insufficientFunds" />
    </action>
         <!-- process an application -->
    <!-- Single Residence Application Processing Form -->
    <action path="/cts/singleResidenceProcessingApplication" type="au.com.bpa.web.SingleResidenceApplicationProcessingAction" name="singleResidenceApplicationProcessingForm" scope="request" input="/cts/processApplication.jsp" validate="true">
         <forward name="invalidToken" path="/errors/invalidToken.jsp" />
         <forward name="success" path="/cts/processApplication-success.jsp" />
         <forward name="notValidated" path="/cts/processApplication.do" />
    </action>
         <!-- update a validation run -->
         <action path="/cts/updateValidationRun" type="au.com.bpa.web.UpdateValidationRunAction">
    <forward name="success" path="/cts/processApplication-success.jsp" />
    <forward name="notValidated" path="/cts/processApplication.do" />
    </action>
    <!-- unlock application and return to list -->
    <action path="/cts/unlockAndExit" type="au.com.bpa.web.UnlockApplicationAction" scope="request">
              <!-- forwards to global forward cts/viewApplicationList -->
         </action>
    <!-- export application and return to list -->
    <action path="/cts/exportApplication" type="au.com.bpa.web.ExportApplicationAction" scope="request">
              <!-- forwards to global forward cts/viewApplicationList -->
         </action>
         <!-- approve application and return to list -->
         <action path="/cts/forceApplicationApproval" type="au.com.bpa.web.ForceApplicationApprovalAction" scope="request">
              <!-- forwards to global forward cts/viewApplicationList -->
         </action>
    <!-- reject application and return to list -->
         <action path="/cts/rejectApplication" type="au.com.bpa.web.RejectApplicationAction" name="rejectApplicationForm" scope="request">
              <!-- forwards to global forward cts/viewApplicationList -->
         </action>
         <!-- resolve insufficient funds -->
         <action path="/cts/resolveInsufficientFunds" type="au.com.bpa.web.ResolveInsufficientFundsAction">
    <forward name="success" path="/cts/insufficientFundsResolved.jsp" />
         <forward name="failure" path="/cts/insufficientFundsNotResolved.jsp" />
    </action>
         <!-- Call Centre Staff Actions - Call Centre Role -->
         <!-- view list of applications - cts -->
         <action path="/call-centre/viewApplicationList" type="au.com.bpa.web.ListApplicationsCallCentreAction" name="listApplicationsCallCentreForm" scope="request" validate="false">
    <forward name="success" path="/call-centre/listApplications.jsp" />
    </action>
         <action path="/call-centre/findApplicationById" type="au.com.bpa.web.ListApplicationsCallCentreAction" name="findApplicationByIdForm" scope="request" validate="false">
    <forward name="success" path="/call-centre/listApplications.jsp" />
    </action>
         <!-- save user preferences -->
         <action path="/call-centre/saveUserPreferences" type="au.com.bpa.web.SaveUserPreferencesAction">
    <forward name="success" path="/call-centre/listApplications.jsp" />
    </action>
         <!-- view / edit an application -->
         <action path="/call-centre/viewApplication" type="au.com.bpa.web.ViewApplicationCallCentreAction">
         <forward name="viewSingleResidenceApplication" path="/call-centre/viewApplication.jsp" />
    </action>
         <!-- Admin Actions - Admin Role -->
    <!-- show edit restricted names -->
         <action path="/admin/editRestrictedNames" type="au.com.bpa.web.EditRestrictedNamesAction" name="editRestrictedNamesForm" scope="request" input="/admin/restrictedNames.jsp" validate="false">
              <forward name="success" path="/admin/restrictedNames.jsp" />
         </action>
         <!-- add edit restricted and return to list -->
         <action path="/admin/addRestrictedName" type="au.com.bpa.web.AddRestrictedNameAction" name="editRestrictedNamesForm" scope="request" input="/admin/restrictedNames.jsp" validate="true">
              <forward name="success" path="/admin/editRestrictedNames.do" />
              <forward name="invalidToken" path="/errors/invalidToken.jsp" />
         </action>
         <!-- delete edit restricted and return to list -->
         <action path="/admin/deleteRestrictedName" type="au.com.bpa.web.DeleteRestrictedNameAction" name="editRestrictedNamesForm" scope="request" input="/admin/restrictedNames.jsp" validate="false">
              <forward name="success" path="/admin/editRestrictedNames.do" />
         </action>
         <!-- show a business report -->
         <action path="/admin/showBusinessReport" type="au.com.bpa.web.BusinessReportsAction" name="businessReportsForm" scope="request" validate="false">
              <forward name="detailedProcessingStatistics" path="/admin/reportProcessingStatistics.jsp" />
              <forward name="detailedPerformanceStatistics" path="/admin/reportPerformanceStatistics.jsp" />
              <forward name="reasonsForRejection" path="/admin/reportReasonsForRejection.jsp" />
              <forward name="reasonsForManualProcessing" path="/admin/reportReasonsForManualProcessing.jsp" />
              <forward name="keyPerformanceIndicators" path="/admin/reportKeyPerformanceIndicators.jsp" />
              <forward name="applsWithoutWaterService" path="/admin/reportApplsWithoutWaterService.jsp" />
         </action>
    </action-mappings>
    <!-- ========== Controller Configuration ================================ -->
    <controller>
    <set-property property="maxFileSize" value="2M" />
         <set-property property="debug" value="4" />
    </controller>
    <!-- ========== Message Resources Definitions =========================== -->
    <message-resources parameter="au.com.bpa.web.ApplicationResources"/>
    <!-- ========== Plug Ins Configuration ================================== -->
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
    </plug-in>
    </struts-config>
    This application was originally designed using JBuilder, but now i'm migrating it to Eclipse.
    Also, i tried to change the path to one of the form-beans to something that didn't exist, just to see what error i got, and it didn't do anything.
    Any help would be much appreciated.
    Osireion.

    hi
    i am facing the same problem....while iam trying to execute the following error has occured...
    i checked the struts-config.xml file ..if i remove the form beans tag then every thing will be correct ...can some body help me please..........
    javax.servlet.UnavailableException: Parsing error processing resource path
         at org.apache.struts.action.ActionServlet.handleConfigException(ActionServlet.java:1035)
         at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:1014)
         at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:955)
         at org.apache.struts.action.ActionServlet.init(ActionServlet.java:470)
         at javax.servlet.GenericServlet.init(GenericServlet.java:256)
         at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:935)
         at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:668)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
         at java.lang.Thread.run(Thread.java:536)

  • Error in parsing struts-config.xml

              There are lots of errors in parsing struts-config.xml in Jbuilder9+weblogic6.1+struts1.0.2.
              Who
              can help me? Thanks a lot
              struts-config.xml is generated by Jbuilder9:
              <?xml version="1.0" encoding="UTF-8"?>
              <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration
              1.0//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
              <struts-config>
              <form-beans>
              <form-bean name="myActionForm" type="demostruts.myActionForm" />
              </form-beans>
              <global-forwards>
              <forward name="input" path="/input" />
              </global-forwards>
              <action-mappings>
              <action name="myActionForm" type="demostruts.myAction" input="/input.jsp"
              scope="session" path="/myAction" />
              </action-mappings>
              </struts-config>
              error message is:
              Call org.apache.struts.action.ActionServlet.addServletMapping(action/java.lang.String,*.do/java.lang.String)
              Parse Error at line 2 column 16: Element type "Struts-config" must be declared.
              org.xml.sax.SAXParseException: Element type "Struts-config" must be declared.
                   at weblogic.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1082)
                   at weblogic.apache.xerces.validators.common.XMLValidator.reportRecoverableXMLError(XMLValidator.java:1720)
                   at weblogic.apache.xerces.validators.common.XMLValidator.validateElementAndAttributes(XMLValidator.java:3311)
                   at weblogic.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1140)
                   at weblogic.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1008)
                   at weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
                   at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:967)
                   at org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)
                   at weblogic.xml.jaxp.WebLogicParser.parse(WebLogicParser.java:67)
                   at weblogic.xml.jaxp.RegistryParser.parse(RegistryParser.java:130)
                   at javax.xml.parsers.SAXParser.parse(SAXParser.java:317)
                   at javax.xml.parsers.SAXParser.parse(SAXParser.java:108)
                   at org.apache.struts.digester.Digester.parse(Digester.java:755)
                   at org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java:1332)
                   at org.apache.struts.action.ActionServlet.init(ActionServlet.java:466)
                   at javax.servlet.GenericServlet.init(GenericServlet.java:258)
                   at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:698)
                   at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:641)
                   at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:586)
                   at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2198)
                   at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:2142)
                   at weblogic.servlet.internal.WebAppServletContext.init(WebAppServletContext.java:883)
                   at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:806)
                   at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:413)
                   at weblogic.j2ee.WebAppComponent.deploy(WebAppComponent.java:74)
                   at weblogic.j2ee.Application.addComponent(Application.java:160)
                   at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:144)
                   at weblogic.management.mbeans.custom.WebServer.addWebDeployment(WebServer.java:76)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy34.addWebDeployment(Unknown Source)
                   at weblogic.management.configuration.WebServerMBean_CachingStub.addWebDeployment(WebServerMBean_CachingStub.java:1093)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:315)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:279)
                   at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:233)
                   at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:193)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy33.updateDeployments(Unknown Source)
                   at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2706)
                   at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:360)
                   at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:152)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy46.start(Unknown Source)
                   at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:479)
                   at weblogic.management.Admin.startApplicationManager(Admin.java:1138)
                   at weblogic.management.Admin.finish(Admin.java:561)
                   at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:501)
                   at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:198)
                   at weblogic.Server.main(Server.java:35)
              Parse Error at line 3 column 13: Element type "form-beans" must be declared.
              org.xml.sax.SAXParseException: Element type "form-beans" must be declared.
                   at weblogic.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1082)
                   at weblogic.apache.xerces.validators.common.XMLValidator.reportRecoverableXMLError(XMLValidator.java:1720)
                   at weblogic.apache.xerces.validators.common.XMLValidator.validateElementAndAttributes(XMLValidator.java:3311)
                   at weblogic.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1140)
                   at weblogic.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1241)
                   at weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
                   at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:967)
                   at org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)
                   at weblogic.xml.jaxp.WebLogicParser.parse(WebLogicParser.java:67)
                   at weblogic.xml.jaxp.RegistryParser.parse(RegistryParser.java:130)
                   at javax.xml.parsers.SAXParser.parse(SAXParser.java:317)
                   at javax.xml.parsers.SAXParser.parse(SAXParser.java:108)
                   at org.apache.struts.digester.Digester.parse(Digester.java:755)
                   at org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java:1332)
                   at org.apache.struts.action.ActionServlet.init(ActionServlet.java:466)
                   at javax.servlet.GenericServlet.init(GenericServlet.java:258)
                   at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:698)
                   at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:641)
                   at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:586)
                   at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2198)
                   at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:2142)
                   at weblogic.servlet.internal.WebAppServletContext.init(WebAppServletContext.java:883)
                   at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:806)
                   at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:413)
                   at weblogic.j2ee.WebAppComponent.deploy(WebAppComponent.java:74)
                   at weblogic.j2ee.Application.addComponent(Application.java:160)
                   at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:144)
                   at weblogic.management.mbeans.custom.WebServer.addWebDeployment(WebServer.java:76)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy34.addWebDeployment(Unknown Source)
                   at weblogic.management.configuration.WebServerMBean_CachingStub.addWebDeployment(WebServerMBean_CachingStub.java:1093)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:315)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:279)
                   at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:233)
                   at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:193)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy33.updateDeployments(Unknown Source)
                   at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2706)
                   at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:360)
                   at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:152)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy46.start(Unknown Source)
                   at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:479)
                   at weblogic.management.Admin.startApplicationManager(Admin.java:1138)
                   at weblogic.management.Admin.finish(Admin.java:561)
                   at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:501)
                   at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:198)
                   at weblogic.Server.main(Server.java:35)
              Parse Error at line 5 column 67: Element type "form-bean" must be declared.
              org.xml.sax.SAXParseException: Element type "form-bean" must be declared.
                   at weblogic.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1082)
                   at weblogic.apache.xerces.validators.common.XMLValidator.reportRecoverableXMLError(XMLValidator.java:1720)
                   at weblogic.apache.xerces.validators.common.XMLValidator.validateElementAndAttributes(XMLValidator.java:3311)
                   at weblogic.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1140)
                   at weblogic.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1876)
                   at weblogic.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1252)
                   at weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
                   at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:967)
                   at org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)
                   at weblogic.xml.jaxp.WebLogicParser.parse(WebLogicParser.java:67)
                   at weblogic.xml.jaxp.RegistryParser.parse(RegistryParser.java:130)
                   at javax.xml.parsers.SAXParser.parse(SAXParser.java:317)
                   at javax.xml.parsers.SAXParser.parse(SAXParser.java:108)
                   at org.apache.struts.digester.Digester.parse(Digester.java:755)
                   at org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java:1332)
                   at org.apache.struts.action.ActionServlet.init(ActionServlet.java:466)
                   at javax.servlet.GenericServlet.init(GenericServlet.java:258)
                   at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:698)
                   at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:641)
                   at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:586)
                   at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2198)
                   at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:2142)
                   at weblogic.servlet.internal.WebAppServletContext.init(WebAppServletContext.java:883)
                   at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:806)
                   at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:413)
                   at weblogic.j2ee.WebAppComponent.deploy(WebAppComponent.java:74)
                   at weblogic.j2ee.Application.addComponent(Application.java:160)
                   at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:144)
                   at weblogic.management.mbeans.custom.WebServer.addWebDeployment(WebServer.java:76)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy34.addWebDeployment(Unknown Source)
                   at weblogic.management.configuration.WebServerMBean_CachingStub.addWebDeployment(WebServerMBean_CachingStub.java:1093)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:315)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:279)
                   at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:233)
                   at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:193)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy33.updateDeployments(Unknown Source)
                   at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2706)
                   at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:360)
                   at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:152)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy46.start(Unknown Source)
                   at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:479)
                   at weblogic.management.Admin.startApplicationManager(Admin.java:1138)
                   at weblogic.management.Admin.finish(Admin.java:561)
                   at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:501)
                   at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:198)
                   at weblogic.Server.main(Server.java:35)
              Parse Error at line 8 column 18: Element type "action-mappings" must be declared.
              org.xml.sax.SAXParseException: Element type "action-mappings" must be declared.
                   at weblogic.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1082)
                   at weblogic.apache.xerces.validators.common.XMLValidator.reportRecoverableXMLError(XMLValidator.java:1720)
                   at weblogic.apache.xerces.validators.common.XMLValidator.validateElementAndAttributes(XMLValidator.java:3311)
                   at weblogic.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1140)
                   at weblogic.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1241)
                   at weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
                   at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:967)
                   at org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)
                   at weblogic.xml.jaxp.WebLogicParser.parse(WebLogicParser.java:67)
                   at weblogic.xml.jaxp.RegistryParser.parse(RegistryParser.java:130)
                   at javax.xml.parsers.SAXParser.parse(SAXParser.java:317)
                   at javax.xml.parsers.SAXParser.parse(SAXParser.java:108)
                   at org.apache.struts.digester.Digester.parse(Digester.java:755)
                   at org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java:1332)
                   at org.apache.struts.action.ActionServlet.init(ActionServlet.java:466)
                   at javax.servlet.GenericServlet.init(GenericServlet.java:258)
                   at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:698)
                   at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:641)
                   at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:586)
                   at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2198)
                   at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:2142)
                   at weblogic.servlet.internal.WebAppServletContext.init(WebAppServletContext.java:883)
                   at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:806)
                   at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:413)
                   at weblogic.j2ee.WebAppComponent.deploy(WebAppComponent.java:74)
                   at weblogic.j2ee.Application.addComponent(Application.java:160)
                   at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:144)
                   at weblogic.management.mbeans.custom.WebServer.addWebDeployment(WebServer.java:76)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy34.addWebDeployment(Unknown Source)
                   at weblogic.management.configuration.WebServerMBean_CachingStub.addWebDeployment(WebServerMBean_CachingStub.java:1093)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:315)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:279)
                   at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:233)
                   at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:193)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy33.updateDeployments(Unknown Source)
                   at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2706)
                   at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:360)
                   at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:152)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy46.start(Unknown Source)
                   at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean_CachingStub.java:479)
                   at weblogic.management.Admin.startApplicationManager(Admin.java:1138)
                   at weblogic.management.Admin.finish(Admin.java:561)
                   at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:501)
                   at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:198)
                   at weblogic.Server.main(Server.java:35)
              Parse Error at line 13 column 26: Element type "action" must be declared.
              org.xml.sax.SAXParseException: Element type "action" must be declared.
                   at weblogic.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1082)
                   at weblogic.apache.xerces.validators.common.XMLValidator.reportRecoverableXMLError(XMLValidator.java:1720)
                   at weblogic.apache.xerces.validators.common.XMLValidator.validateElementAndAttributes(XMLValidator.java:3311)
                   at weblogic.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1140)
                   at weblogic.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1876)
                   at weblogic.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1252)
                   at weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
                   at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:967)
                   at org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:223)
                   at weblogic.xml.jaxp.WebLogicParser.parse(WebLogicParser.java:67)
                   at weblogic.xml.jaxp.RegistryParser.parse(RegistryParser.java:130)
                   at javax.xml.parsers.SAXParser.parse(SAXParser.java:317)
                   at javax.xml.parsers.SAXParser.parse(SAXParser.java:108)
                   at org.apache.struts.digester.Digester.parse(Digester.java:755)
                   at org.apache.struts.action.ActionServlet.initMapping(ActionServlet.java:1332)
                   at org.apache.struts.action.ActionServlet.init(ActionServlet.java:466)
                   at javax.servlet.GenericServlet.init(GenericServlet.java:258)
                   at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:698)
                   at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:641)
                   at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:586)
                   at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:2198)
                   at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:2142)
                   at weblogic.servlet.internal.WebAppServletContext.init(WebAppServletContext.java:883)
                   at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:806)
                   at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:413)
                   at weblogic.j2ee.WebAppComponent.deploy(WebAppComponent.java:74)
                   at weblogic.j2ee.Application.addComponent(Application.java:160)
                   at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:144)
                   at weblogic.management.mbeans.custom.WebServer.addWebDeployment(WebServer.java:76)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy34.addWebDeployment(Unknown Source)
                   at weblogic.management.configuration.WebServerMBean_CachingStub.addWebDeployment(WebServerMBean_CachingStub.java:1093)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:315)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:279)
                   at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:233)
                   at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:193)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:606)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:590)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:350)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:444)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:185)
                   at $Proxy33.updateDeployments(Unknown Source)
                   at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub.java:2706)
                   at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:360)
                   at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:152)
                   at java.lang.reflect.Method.invoke(Native Method)
                   at weblogic.management.internal.Dyn

    Usually, a 503 means that WebLogic can't find the compiler it needs to compile your JSPs. Check your weblogic.xml for the compiler param (forgot the exact name) in the jsp section (<jsp:descriptor>).
    If the above doesn't apply to your case, I'm afraid I can't be of much further help...

  • Struts Config changes with parameter="unknown"

    I am having an issue where my struts config file is getting automatically changed where some of the data actions are getting parameter="unknown" added to them automatically by jdev 10.1.2.1.0 Build 1913. I remove them, close down jdev, open it back up and they are there again.
    Is anyone else having this problem?

    I have the same problem. Is annoying. This happens when I add code to the DataAction. Jdeveloper seems to confuse the Data Action with a Data Page. By default the type of a DataAction is type="oracle.adf.controller.struts.actions.DataAction", when you add code the type change and this may be the cause of the problem. Any suggestions?

  • Struts- two actions with same path in struts config

    hai
    I am having html:select tag with two options (View And Download) in a form.My form signature is like <html:form action="select">.I mapped two options(View,Download) with same action path.When i click view it doesn't forwards(remains idle) and no error is shown.But i click download it forwards to the appropriate page.If iam having two tags with same action path the second is only working.This problem doesn't comes when iam having one tag alone.
    My code is here:
    -----------Select.jsp----------------
    <html:form action="Select">
    <html:select property="id">
    <html:option value="view">View</html:option>
    <html:option value="download">Download</html:option>
    </html:select>
    </html:form>
    ----------------Struts-config.xml------------
    <form-beans>
    <form-bean name="viewForm" type="ViewForm"/>
    <form-bean name="download" type="DownloadForm"/>
    </form-beans>
    <action-mappings>
    <action path="/Select"
    name="viewForm"
    type="ViewAction"
    input="/Select.jsp">
    <forward name="success" path="/Success.jsp"/>
    </action>
    <action path="/Select"
    name="downloadForm"
    type="DownloadAction"
    input="/Select.jsp">
    <forward name="success" path="/Welcome.jsp"/>
    </action>
    </action-mappings>
    Can i have action tag with same paths like this.If not please provide me a solution

    I have created two success pages.
    I have created two findForward in my ActionClasspublic ActionForward execute(ActionMapping mapping,...............)
    if(a==view)
    return mapping.findForward("success");
    else
    return mapping.findForward("success1");
    ----------------Struts-config.xml------------
    <form-beans>
    <form-bean name="viewdownloadForm" type="ViewdownloadForm"/>
    </form-beans>
    <action-mappings>
    <action path="/Select"
    name="viewdownloadForm"
    type="ViewdownloadAction"
    input="/Select.jsp">
    <forward name="success" path="/Success.jsp"/>
    <forward name="success1" path="/Success1.jsp"/>
    </action>

  • Opening struts-config/ web.xml with Internet explorer

    Hi,
    I m facing a problem if i m tryin to open struts-config.xml or any other xml file using internet explorer.
    Following is the error which i got:
    The XML page cannot be displayed
    Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later.
    The system cannot locate the resource specified. Error processing resource 'http://jakarta.apache.org/struts/dtds/struts-co...
    Please help me in finding the solution for this.
    Thanks in Advance.

    hi
    I think your IE's security settings are causing this error. If you check
    Internet options -> Security, you'll see an option
    "access data sources across domains". Enable this option and try once again.

  • Problem with struts portlet in Portal

    Hi,
    I would like to make a struts app as a portlet in bea portal.
    But when I try to make it using standard wizard to create Struts portlet
    after point struts-config.xml I get "Cannot parse the struts configuration file".
    What is wrong ? (I tried with many different struts-config.xml files, it doesn't
    work)
    I can't find any error details. in workshop files ?
    I have bea Workshop 8.1.
    Any help ?
    Thanks,
    Tom

    Ok I found solution on
    weblogic.developer.interest.portal.struts
    but where are error details ? which file ?
    "tmm" <[email protected]> wrote:
    >
    Hi,
    I would like to make a struts app as a portlet in bea portal.
    But when I try to make it using standard wizard to create Struts portlet
    after point struts-config.xml I get "Cannot parse the struts configuration
    file".
    What is wrong ? (I tried with many different struts-config.xml files,
    it doesn't
    work)
    I can't find any error details. in workshop files ?
    I have bea Workshop 8.1.
    Any help ?
    Thanks,
    Tom

  • Oracle9i lite with struts

    Hi,
    I am using Oracle9i Lite (Web-to-go Release 5.0.2 for Windows) Application server in my application. I am going to implement the entire application in
    Apache Struts framework.
    I tried to run the demo application in Oracle9i Lite web-to-go(Release 5.0.2 for Windows) using Struts 1.0 framework.
    I am getting the following error in console.[ while parsing the web.xml file ,initParam becomes null]
    C:\Documents and Settings\ljagan>wtgdebug
    log1: Mount point jdbc:polite:WEBTOGO oracle.lite.web.ifs.OSFS@17f1ba3
    log9: inside jupdevworkspace === null
    log1: Adding application OLAM
    log9: web.xml:D:\oralite9\Mobile\Sdk\wtgsdk\root/Olam/WEB-INF/web.xml
    log9: web.xml: web.xml exists
    log9: web.xml: loading the xml file...
    log9: web.xml: creating URL: file:/D:/oralite9/Mobile/Sdk/wtgsdk/root/Olam/WEB-I
    NF/web.xml
    log9: web.xml: Now parsing the xml file...
    log9: web.xml: Parsed the xml file.
    log9: web.xml: Successfully parsed the xml file
    log1: web.xml: Adding webxml servlet action
    log1: org.apache.struts.action.ActionServlet 2
    log9: web.xml: AppServletHandler: Adding context parameters ...
    log9: web.xml: appServletHandler initParams is null. Initialize the initParams h
    ashtable with contents of contextParams hashtable
    log1: ljagan.cptdomain.com 7070

    Hi Frank ,
    First thanks to your reply.
    You are correct only, this log does not show error message,The ActionServlet class was loaded Successfully but the struts-config.xml was not loaded because initParam becomes null.
    When i tried to run sample program,getting following error in jsp .
    Exception:
    javax.servlet.jsp.JspException: Cannot find message resources under key org.apache.struts.action.MESSAGE
         at org.apache.struts.util.RequestUtils.message(RequestUtils.java:568)
         at org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:239)
         at olam.index._jspService(_index.java:67)
         at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
         at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:419)
         at oracle.jsp.JspServlet.doDispatch(JspServlet.java:265)
         at oracle.jsp.JspServlet.internalService(JspServlet.java:184)
         at oracle.jsp.JspServlet.service(JspServlet.java:154)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at oracle.lite.web.JupServlet.service(JupServlet.java:226)
         at oracle.lite.web.MimeServletHandler.handle(MimeServletHandler.java:85)
         at oracle.lite.web.JupApplication.service(JupApplication.java:539)
         at oracle.lite.web.JupHandler.handle(JupHandler.java:109)
         at oracle.lite.web.HTTPServer.process(HTTPServer.java:306)
         at oracle.lite.web.HTTPServer.handleRequest(HTTPServer.java:162)
         at oracle.lite.web.JupServer.handle(JupServer.java:310)
         at oracle.lite.web.SocketListener.process(SocketListener.java:172)
         at oracle.lite.web.SocketListener$ReqHandler.run(SocketListener.java:226)
    NOTE: The same sample application works fine in Apache Tomcat server.
    Pls reply

  • UiXML with Struts: Illegal Access Error

    I created a project in JDeveloper for the example found in the JDeveloper help documentation, "Using uiXML with Struts". It says I need uix-config.xml in my WEB-INF directory. I created one and copied the xml from the example to it. When I run login.uix from JDeveloper I get:
    500 Internal Server Error
    java.lang.IllegalAccessError: oracle/cabo/servlet/struts/ui/MessageDataProvider
    java.lang.Object oracle.cabo.servlet.struts.ui.DataProviderParserFactory$Parser.getNodeValue(oracle.cabo.share.xml.ParseContext, java.lang.String, java.lang.String, org.xml.sax.Attributes)
    void oracle.cabo.share.xml.LeafNodeParser.startElement(oracle.cabo.share.xml.ParseContext, java.lang.String, java.lang.String, org.xml.sax.Attributes)
    void oracle.cabo.share.xml.TreeBuilder$Handler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
    void oracle.cabo.share.xml.ParserAdapter.startElement(java.lang.String, org.xml.sax.AttributeList)
    void oracle.xml.parser.v2.XMLContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
    XMLContentHandler.java:166
    I notice if I remove that file, I don't get this error, but the struts components do nothing, which seems logical if we do indeed need this configuration information.
    I also notice the following error in JDeveloper when I compile login.uix:
    Warning(11,44): logon.uix: Parsing error, line 11, column 44: <form> is not an understood element.
    This sometimes means the element's namespace (http://xmlns.oracle.com/uix/struts) is set incorrectly. This may also be an issue with the syntax of its parent element.
    I'm not sure what that is.
    Thanks for your help,
    -James

    That solved the problem! I am relatatively new to
    all this as are many of us "seasoned developers"...and learning
    fast...well...sort of.
    Another observation: I placed the following entry,
    oracle.cabo.servlet.struts.StrutsUIExtension, in my web.xml file
    (borrowed from a plain ol' jsp struts test I've been working
    with). Here's the whole section for the uix servlet:
    <servlet>
    <servlet-name>uix</servlet-name>
    <servlet-class>oracle.cabo.servlet.UIXServlet</servlet-class>
    <init-param>
    <param-name>oracle.cabo.servlet.pageBroker</param-name>
    <param-value>oracle.cabo.servlet.xml.UIXPageBroker</param-value>
    </init-param>
    <init-param>
    <param-name>oracle.cabo.ui.UIExtensions</param-name>
    <param-value>oracle.cabo.servlet.struts.StrutsUIExtension,oracle.cabo.data.jbo.ui.JboUIExtension</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    That solved the parsing errors I was receiving from JDeveloper
    saying that certain elements were not understood. But
    then...when I run logon.uix, the browser displayed this lovely
    error:
    java.lang.IllegalStateException: ParserFactory already registered at http://xmlns.oracle.com/uix/struts
    AAAAAAARGHH! Sooooooo...I removed the uix-config.xml from
    the WEB-INF directory, and hooray! I got my form. Whew!
    I can also get it to run by leaving my uix-config.xml alone and
    removing that entry in web.xml. Weird? Anyway, I'm leaving out
    the entry in uix-config.xml or just not including it for now.
    I'm sure I'll run in to some other problem with that later :)
    The little application doesn't work quite right yet. When I
    click the "Log On" button I get a "Page not found". Must be a
    typo or something.
    Anyway, thanks for your help Adam. I'm sure I'll have more
    questions later. I'll try to make them good ones.
    -James

  • Struts config modules

    I am having 2 struts config files and in web .xml I am defining the module as below....
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>config/sheraton</param-name>
    <param-value>/WEB-INF/struts-sheraton.xml</param-value>
    </init-param>
    but I am getting this error when I run the application.
    Failed to load servlet: javax.servlet.UnavailableException: Parsing error processing resource path
    at org.apache.struts.action.ActionServlet.handleConfigException(ActionServlet.java:1035)
    at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:1014)
    at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:955)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:482)
    at javax.servlet.GenericServlet.init(GenericServlet.java:258)
    at com.ibm.servlet.engine.webapp.StrictServletInstance.doInit(ServletManager.java:802)
    at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._init(StrictLifecycleServlet.java:141)
    at com.ibm.servlet.engine.webapp.PreInitializedServletState.init(StrictLifecycl
    thanks,

    Hi,
    Just think abt the param that u set....!!!!
    ActionServlet is a Servlet; how can u set the 2 params with the same name?
    In the ActionServlet
    config = getServletConfig().getInitParameter("config"); will be called to get the config value, then which init param value will be returned? obviously the second param will override the 1st param value. therefore no use of giving 2 params with the same name.
    if u have more than 1 config files ...just mention them by separating witn cama (,). This is how org.apache.struts.action.ActionServlet is being implemented(if u can!! check the ActionServlet source code).
    I think the error is not due to defining the 2 params with the same name.
    that my be due to the fact that, as in ur code config param value will be second param value xml(WEB-INF/struts-sheraton.xml) file, which doesn't contain the standard config file (struts-config.xml) format.

  • Why dynamic table creation with struts working only for JDK1.3.1_02 version

    Row
    import java.util.Vector;
    public class Row
    private static int colsize;
    private Column[] columns;
    public void setColumns(Column[] columns)
    System.out.println("SetColumns");
    this.columns = columns;
    public void setColumn(int i, Column column)
         System.out.println("setting"+ i+"th column"+column);
    public Column[] getColumns()
    return null;
    public Column getColumns(int i)
    System.out.println("Column"+i);
    System.out.println("Colsize"+colsize);
    if(columns == null)
    columns= new Column[colsize];
    if(columns[i] == null)
    columns[i] = new Column();
    return columns;
    public int getColsize()
         return colsize;
    public static void setColsize(int size)
         colsize = size;
    Column:
    public class Column
    private String value;
    public void setValue(String value)
    System.out.println("Value="+value);
    this.value = value;
    public String getValue()
    return value;
    ApplicationResources:
    button.cancel=Cancel
    button.confirm=Confirm
    button.reset=Reset
    button.save=Save
    database.load=Cannot load database from {0}
    error.database.missing=<li>User database is missing, cannot validate logon credentials</li>
    error.fromAddress.format=<li>Invalid format for From Address</li>
    error.fromAddress.required=<li>From Address is required</li>
    error.fullName.required=<li>Full Name is required</li>
    error.host.required=<li>Mail Server is required</li>
    error.noSubscription=<li>No Subscription bean in user session</li>
    error.password.required=<li>Password is required</li>
    error.password2.required=<li>Confirmation password is required</li>
    error.password.match=<li>Password and confirmation password must match</li>
    error.password.mismatch=<li>Invalid username and/or password, please try again</li>
    error.replyToAddress.format=<li>Invalid format for Reply To Address</li>
    error.transaction.token=<li>Cannot submit this form out of order</li>
    error.type.invalid=<li>Server Type must be 'imap' or 'pop3'</li>
    error.type.required=<li>Server Type is required</li>
    error.username.required=<li>Username is required</li>
    error.username.unique=<li>That username is already in use - please select another</li>
    errors.footer=</ul><hr>
    errors.header=<h3><font color="red">Validation Error</font></h3>You must correct the following error(s) before proceeding:<ul>
    errors.ioException=I/O exception rendering error messages: {0}
    heading.autoConnect=Auto
    heading.subscriptions=Current Subscriptions
    heading.host=Host Name
    heading.user=User Name
    heading.type=Server Type
    heading.action=Action
    index.heading=MailReader Demonstration Application Options
    index.logon=Log on to the MailReader Demonstration Application
    index.registration=Register with the MailReader Demonstration Application
    index.title=MailReader Demonstration Application (Struts 1.0-b1)
    index.tour=A Walking Tour of the Example Application
    linkSubscription.io=I/O Error: {0}
    linkSubscription.noSubscription=No subscription under attribute {0}
    linkUser.io=I/O Error: {0}
    linkUser.noUser=No user under attribute {0}
    logon.title=MailReader Demonstration Application - Logon
    mainMenu.heading=Main Menu Options for
    mainMenu.logoff=Log off MailReader Demonstration Application
    mainMenu.registration=Edit your user registration profile
    mainMenu.title=MailReader Demonstration Application - Main Menu
    option.imap=IMAP Protocol
    option.pop3=POP3 Protocol
    prompt.autoConnect=Auto Connect:
    prompt.fromAddress=From Address:
    prompt.fullName=Full Name:
    prompt.mailHostname=Mail Server:
    prompt.mailPassword=Mail Password:
    prompt.mailServerType=Server Type:
    prompt.mailUsername=Mail Username:
    prompt.password=Password:
    prompt.password2=(Repeat) Password:
    prompt.replyToAddress=Reply To Address:
    prompt.username=Username:
    registration.addSubscription=Add
    registration.deleteSubscription=Delete
    registration.editSubscription=Edit
    registration.title.create=Register for the MailReader Demostration Application
    registration.title.edit=Edit Registration for the MailReader Demonstration Application
    subscription.title.create=Create New Mail Subscription
    subscription.title.delete=Delete Existing Mail Subscription
    subscription.title.edit=Edit Existing Mail Subscription
    LogonForm
    import javax.servlet.http.HttpServletRequest;
    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
    public class LogonForm extends ActionForm
    private String username;
    private String password;
    private String errors;
    public String getUsername()
    return username;
    public void setUsername(String username)
    this.username = username;
    public void setPassword(String password)
    this.password = password;
    public String getPassword()
    return password;
    public String getErrors()
         return errors;
    public void setErrors(String errors)
         this.errors = errors;
    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request) {
    ActionErrors errors = new ActionErrors();
    if ((username == null) || (username.length() < 1))
    errors.add("username", new ActionError("error.username.required"));
    if ((password == null) || (password.length() < 1))
    errors.add("password", new ActionError("error.password.required"));
    return errors;
    TableForm
    import org.apache.struts.action.ActionForm;
    import java.util.Vector;
    public class TableForm extends ActionForm
    private static int rowsize;
    private Row[] rows;
    public Row getRows(int i)
    System.out.println("Row"+i);
    System.out.println("Rowsize"+rowsize);
    if(rows == null)
    rows = new Row[rowsize];
    if(rows[i] == null)
    rows[i] = new Row();
    return rows[i];
    public Row[] getRows()
         return null;
    public void setRows(Row[] rows)
         System.out.println("SetRows");
         // this.rows=rows;
    public static void setRowsize(int size)
         rowsize = size;
    public int getRowSize()
         return rowsize;
    LogonAction
    import java.io.IOException;
    import java.util.Hashtable;
    import java.util.Locale;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionServlet;
    import org.apache.struts.util.MessageResources;
    public class LogonAction extends Action
    public ActionForward execute(ActionMapping mapping,
                        ActionForm form,
                        HttpServletRequest request,
                        HttpServletResponse response)
         throws IOException, ServletException {
    LogonForm logonForm = (LogonForm) form;
    System.out.println(logonForm);
    System.out.println(logonForm.getUsername());
    System.out.println(logonForm.getPassword());
    if(logonForm.getUsername().equals("test") && logonForm.getPassword().equals("test"))
    //TableForm tform = new TableForm();
    //tform.setRowsize(2);
    //tform.getRows(0).setColsize(2);
    //tform.getRows(1).setColsize(2);
    //request.getSession().setAttribute("tableForm",tform);
         System.out.println("Table Form setRowSize");
    TableForm.setRowsize(2);
         System.out.println("Table Form set ColSize");
    Row.setColsize(2);
         System.out.println("Returning success");
    return mapping.findForward("success");
    else
              ActionErrors errors = new ActionErrors();
              errors.add("password",
    new ActionError("error.password.mismatch"));
    saveErrors(request, errors);
    //logonForm.setErrors("LoginError");
    return mapping.findForward("failure");
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE struts-config PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
    "http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
    <!--
    This is the Struts configuration file for the example application,
    using the proposed new syntax.
    NOTE: You would only flesh out the details in the "form-bean"
    declarations if you had a generator tool that used them to create
    the corresponding Java classes for you. Otherwise, you would
    need only the "form-bean" element itself, with the corresponding
    "name" and "type" attributes.
    -->
    <struts-config>
    <form-beans>
    <!-- Logon form bean -->
    <form-bean name="logonForm"
    type="LogonForm"/>
    <form-bean name="tableForm"
    type="TableForm"/>
    <form-bean name="profileForm"
    type="ProfileForm"/>
    </form-beans>
    <global-forwards>
    <forward name="success" path="/Profile.jsp"/>
    </global-forwards>
    <!-- ========== Action Mapping Definitions ============================== -->
    <action-mappings>
    <!-- Edit user registration -->
    <action path="/logon"
    type="LogonAction"
    name="logonForm"
    scope="request"
    validate="false"
    input="/Test.jsp">
    <forward name="success" path="/Table.jsp"/>
    <forward name="failure" path="/Test.jsp"/>
    </action>
    <action path="/table"
    type="TableAction"
    name="tableForm"
    scope="request"
    validate="false">
    <forward name="success" path="/Bean.jsp"/>
    <forward name="failure" path="/Table.jsp"/>
    </action>
    <action path="/profile"
    type="ProfileAction"
    name="profileForm"
    scope="request"
    validate="false"
    parameter="method">
    <forward name="edit" path="/EditProfile.jsp"/>
    <forward name="show" path="/Profile.jsp"/>
    </action>
    </action-mappings>
    </struts-config>
    Test.jsp
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <html:html locale="true">
    <html:form action="/logon" >
    <center>
    <table>
    <tr>
    <td> Username </td>
    <td> <html:text property="username" size="16" maxlength="16"/> </td>
    <td> <html:errors property="username" /> </td>
    </tr>
    <tr>
    <td> Password </td>
    <td> <html:password property="password" size="16" maxlength="16"
    redisplay="false"/> </td>
    <td><html:errors property="password" /> </td>
    </tr>
    </table>
    </center>
    <center> <html:submit property="submit" value="Submit"/> </center>
    </html:form>
    </html:html>
    Table.jsp
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <html:html locale="true">
    <html:form action="/table" >
    <center>
    <table>
    <tr>
    <td> <html:text property="rows[0].columns[0].value" /> </td>
    <td> <html:text property="rows[0].columns[1].value" /></td>
    </tr>
    <tr>
    <td> <html:text property="rows[1].columns[0].value" /> </td>
    <td> <html:text property="rows[1].columns[1].value" /></td>
    </tr>
    </table>
    </center>
    <center> <html:submit property="submit" value="Submit"/> </center>
    </html:form>
    </html:html>

    The above application runs only with JDK1.3.1_02 and not with any other version. This application is creating dynamic table using struts.
    Can anybody help me on the same
    also appending web.xml contents:
    <?xml version="1.0" ?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <!-- Action Servlet Configuration -->
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
    <param-name>application</param-name>
    <param-value>ApplicationResources</param-value>
    </init-param>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>validate</param-name>
    <param-value>true</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
    </servlet>
    <!-- Action Servlet Mapping -->
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <!--Welcome file list starts here -->
    <welcome-file-list>
    <welcome-file>
    /test.jsp
    </welcome-file>
    </welcome-file-list>
    <!-- Struts Tag Library Descriptors -->
    <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
    </taglib>
    </web-app>
    validate-rules.xml
    <!DOCTYPE form-validation PUBLIC
    "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"
    "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
    <!--
    This file contains the default Struts Validator pluggable validator
    definitions. It should be placed somewhere under /WEB-INF and
    referenced in the struts-config.xml under the plug-in element
    for the ValidatorPlugIn.
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
    /WEB-INF/validation.xml"/>
    </plug-in>
    These are the default error messages associated with
    each validator defined in this file. They should be
    added to your projects ApplicationResources.properties
    file or you can associate new ones by modifying the
    pluggable validators msg attributes in this file.
    # Struts Validator Error Messages
    errors.required={0} is required.
    errors.minlength={0} can not be less than {1} characters.
    errors.maxlength={0} can not be greater than {1} characters.
    errors.invalid={0} is invalid.
    errors.byte={0} must be a byte.
    errors.short={0} must be a short.
    errors.integer={0} must be an integer.
    errors.long={0} must be a long.
    errors.float={0} must be a float.
    errors.double={0} must be a double.
    errors.date={0} is not a date.
    errors.range={0} is not in the range {1} through {2}.
    errors.creditcard={0} is an invalid credit card number.
    errors.email={0} is an invalid e-mail address.
    -->
    <form-validation>
    <global>
    <validator name="required"
    classname="org.apache.struts.validator.FieldChecks"
    method="validateRequired"
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionErrors,
    javax.servlet.http.HttpServletRequest"
    msg="errors.required">
    <javascript><![CDATA[
    function validateRequired(form) {
    var isValid = true;
    var focusField = null;
    var i = 0;
    var fields = new Array();
    oRequired = new required();
    for (x in oRequired) {
         var field = form[oRequired[x][0]];
    if (field.type == 'text' ||
    field.type == 'textarea' ||
    field.type == 'file' ||
    field.type == 'select-one' ||
    field.type == 'radio' ||
    field.type == 'password') {
    var value = '';
                                  // get field's value
                                  if (field.type == "select-one") {
                                       var si = field.selectedIndex;
                                       if (si >= 0) {
                                            value = field.options[si].value;
                                  } else {
                                       value = field.value;
    if (trim(value).length == 0) {
         if (i == 0) {
         focusField = field;
         fields[i++] = oRequired[x][1];
         isValid = false;
    if (fields.length > 0) {
    focusField.focus();
    alert(fields.join('\n'));
    return isValid;
    // Trim whitespace from left and right sides of s.
    function trim(s) {
    return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
    ]]>
    </javascript>
    </validator>
    <validator name="requiredif"
    classname="org.apache.struts.validator.FieldChecks"
    method="validateRequiredIf"
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionErrors,
    org.apache.commons.validator.Validator,
    javax.servlet.http.HttpServletRequest"
    msg="errors.required">
    </validator>
    <validator name="minlength"
    classname="org.apache.struts.validator.FieldChecks"
    method="validateMinLength"
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionErrors,
    javax.servlet.http.HttpServletRequest"
    depends=""
    msg="errors.minlength">
    <javascript><![CDATA[
    function validateMinLength(form) {
    var isValid = true;
    var focusField = null;
    var i = 0;
    var fields = new Array();
    oMinLength = new minlength();
    for (x in oMinLength) {
    var field = form[oMinLength[x][0]];
    if (field.type == 'text' ||
    field.type == 'textarea') {
    var iMin = parseInt(oMinLength[x][2]("minlength"));
    if ((trim(field.value).length > 0) && (field.value.length < iMin)) {
    if (i == 0) {
    focusField = field;
    fields[i++] = oMinLength[x][1];
    isValid = false;
    if (fields.length > 0) {
    focusField.focus();
    alert(fields.join('\n'));
    return isValid;
    }]]>
    </javascript>
    </validator>
    <validator name="maxlength"
    classname="org.apache.struts.validator.FieldChecks"
    method="validateMaxLength"
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionErrors,
    javax.servlet.http.HttpServletRequest"
    depends=""
    msg="errors.maxlength">
    <javascript><![CDATA[
    function validateMaxLength(form) {
    var isValid = true;
    var focusField = null;
    var i = 0;
    var fields = new Array();
    oMaxLength = new maxlength();
    for (x in oMaxLength) {
    var field = form[oMaxLength[x][0]];
    if (field.type == 'text' ||
    field.type == 'textarea') {
    var iMax = parseInt(oMaxLength[x][2]("maxlength"));
    if (field.value.length > iMax) {
    if (i == 0) {
    focusField = field;
    fields[i++] = oMaxLength[x][1];
    isValid = false;
    if (fields.length > 0) {
    focusField.focus();
    alert(fields.join('\n'));
    return isValid;
    }]]>
    </javascript>
    </validator>
    <validator name="mask"
    classname="org.apache.struts.validator.FieldChecks"
    method="validateMask"
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionErrors,
    javax.servlet.http.HttpServletRequest"
    depends=""
    msg="errors.invalid">
    <javascript><![CDATA[
    function validateMask(form) {
    var isValid = true;
    var focusField = null;
    var i = 0;
    var fields = new Array();
    oMasked = new mask();
    for (x in oMasked) {
    var field = form[oMasked[x][0]];
    if ((field.type == 'text' ||
    field.type == 'textarea') &&
    (field.value.length > 0)) {
    if (!matchPattern(field.value, oMasked[x][2]("mask"))) {
    if (i == 0) {
    focusField = field;
    fields[i++] = oMasked[x][1];
    isValid = false;
    if (fields.length > 0) {
    focusField.focus();
    alert(fields.join('\n'));
    return isValid;
    function matchPattern(value, mask) {
    return mask.exec(value);
    }]]>
    </javascript>
    </validator>
    <validator name="byte"
    classname="org.apache.struts.validator.FieldChecks"
    method="validateByte"
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionErrors,
    javax.servlet.http.HttpServletRequest"
    depends=""
    msg="errors.byte"
    jsFunctionName="ByteValidations">
    <javascript><![CDATA[
    function validateByte(form) {
    var bValid = true;
    var focusField = null;
    var i = 0;
    var fields = new Array();
    oByte = new ByteValidations();
    for (x in oByte) {
         var field = form[oByte[x][0]];
    if (field.type == 'text' ||
    field.type == 'textarea' ||
    field.type == 'select-one' ||
                                  field.type == 'radio') {
                                  var value = '';
                                  // get field's value
                                  if (field.type == "select-one") {
                                       var si = field.selectedIndex;
                                       if (si >= 0) {
                                            value = field.options[si].value;
                                  } else {
                                       value = field.value;
    if (value.length > 0) {
    if (!isAllDigits(value)) {
    bValid = false;
    if (i == 0) {
    focusField = field;
    fields[i++] = oByte[x][1];
    } else {
         var iValue = parseInt(value);
         if (isNaN(iValue) || !(iValue >= -128 && iValue <= 127)) {
         if (i == 0) {
         focusField = field;
         fields[i++] = oByte[x][1];
         bValid = false;
    if (fields.length > 0) {
    focusField.focus();
    alert(fields.join('\n'));
    return bValid;
    }]]>
    </javascript>
    </validator>
    <validator name="short"
    classname="org.apache.struts.validator.FieldChecks"
    method="validateShort"
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionErrors,
    javax.servlet.http.HttpServletRequest"
    depends=""
    msg="errors.short"
    jsFunctionName="ShortValidations">
    <javascript><![CDATA[
    function validateShort(form) {
    var bValid = true;
    var focusField = null;
    var i = 0;
    var fields = new Array();
    oShort = new ShortValidations();
    for (x in oShort) {
         var field = form[oShort[x][0]];
    if (field.type == 'text' ||
    field.type == 'textarea' ||
    field.type == 'select-one' ||
    field.type == 'radio') {
    var value = '';
                                  // get field's value
                                  if (field.type == "select-one") {
                                       var si = field.selectedIndex;
                                       if (si >= 0) {
                                            value = field.options[si].value;
                                  } else {
                                       value = field.value;
    if (value.length > 0) {
    if (!isAllDigits(value)) {
    bValid = false;
    if (i == 0) {
    focusField = field;
    fields[i++] = oShort[x][1];
    } else {
         var iValue = parseInt(value);
         if (isNaN(iValue) || !(iValue >= -32768 && iValue <= 32767)) {
         if (i == 0) {
         focusField = field;
         fields[i++] = oShort[x][1];
         bValid = false;
    if (fields.length > 0) {
    focusField.focus();
    alert(fields.join('\n'));
    return bValid;
    }]]>
    </javascript>
    </validator>
    <validator name="integer"
    classname="org.apache.struts.validator.FieldChecks"
    method="validateInteger"
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionErrors,
    javax.servlet.http.HttpServletRequest"
    depends=""
    msg="errors.integer"
    jsFunctionName="IntegerValidations">
    <javascript><![CDATA[
    function validateInteger(form) {
    var bValid = true;
    var focusField = null;
    var i = 0;
    var fields = new Array();
    oInteger = new IntegerValidations();
    for (x in oInteger) {
         var field = form[oInteger[x][0]];
    if (field.type == 'text' ||
    field.type == 'textarea' ||
    field.type == 'select-one' ||
    field.type == 'radio') {
    var value = '';
                                  // get field's value
                                  if (field.type == "select-one") {
                                       var si = field.selectedIndex;
                                  if (si >= 0) {
                                       value = field.options[si].value;
                                  } else {
                                       value = field.value;
    if (value.length > 0) {
    if (!isAllDigits(value)) {
    bValid = false;
    if (i == 0) {
         focusField = field;
                                  fields[i++] = oInteger[x][1];
    } else {
         var iValue = parseInt(value);
         if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 2147483647)) {
         if (i == 0) {
         focusField = field;
         fields[i++] = oInteger[x][1];
         bValid = false;
    if (fields.length > 0) {
    focusField.focus();
    alert(fields.join('\n'));
    return bValid;
    function isAllDigits(argvalue) {
    argvalue = argvalue.toString();
    var validChars = "0123456789";
    var startFrom = 0;
    if (argvalue.substring(0, 2) == "0x") {
    validChars = "0123456789abcdefABCDEF";
    startFrom = 2;
    } else if (argvalue.charAt(0) == "0") {
    validChars = "01234567";
    startFrom = 1;
    } else if (argvalue.charAt(0) == "-") {
    startFrom = 1;
    for (var n = startFrom; n < argvalue.length; n++) {
    if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) return false;
    return true;
    }]]>
    </javascript>
    </validator>
    <validator name="long"
    classname="org.apache.struts.validator.FieldChecks"
    method="validateLong"
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionErrors,
    javax.servlet.http.HttpServletRequest"
    depends=""
    msg="errors.long"/>
    <validator name="float"
    classname="org.apache.struts.validator.FieldChecks"
    method="validateFloat"
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionErrors,
    javax.servlet.http.HttpServletRequest"
    depends=""
    msg="errors.float"
    jsFunctionName="FloatValidations">
    <javascript><![CDATA[
    function validateFloat(form) {
    var bValid = true;
    var focusField = null;
    var i = 0;
    var fields = new Array();
    oFloat = new FloatValidations();
    for (x in oFloat) {
         var field = form[oFloat[x][0]];
    if (field.type == 'text' ||
    field.type == 'textarea' ||
    field.type == 'select-one' ||
    field.type == 'radio') {
         var value = '';
                                  // get field's value
                                  if (field.type == "select-one") {
                                       var si = field.selectedIndex;
                                       if (si >= 0) {
                                       value = field.options[si].value;
                                  } else {
                                       value = field.value;
    if (value.length > 0) {
    // remove '.' before checking digits
    var tempArray = value.split('.');
    var joinedString= tempArray.join('');
    if (!isAllDigits(joinedString)) {
    bValid = false;
    if (i == 0) {
    focusField = field;
    fields[i++] = oFloat[x][1];
    } else {
         var iValue = parseFloat(value);
         if (isNaN(iValue)) {
         if (i == 0) {
         focusField = field;
         fields[i++] = oFloat[x][1];
         bValid = false;
    if (fields.length > 0) {
    focusField.focus();
    alert(fields.join('\n'));
    return bValid;
    }]]>
    </javascript>
    </validator>
    <validator name="double"
    classname="org.apache.struts.validator.FieldChecks"
    method="validateDouble"
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionErrors,
    javax.servlet.http.HttpServletRequest"
    depends=""
    msg="errors.double"/>
    <validator name="date"
    classname="org.apache.struts.validator.FieldChecks"
    method="validateDate"
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionErrors,
    javax.servlet.http.HttpServletRequest"
    depends=""
    msg="errors.date"
    jsFunctionName="DateValidations">
    <javascript><![CDATA[
    function validateDate(form) {
    var bValid = true;
    var focusField = null;
    var i = 0;
    var fields = new Array();
    oDate = new DateValidations();
    for (x in oDate) {
    var value = form[oDate[x][0]].value;
    var datePattern = oDate[x][2]("datePatternStrict");
    if ((form[oDate[x][0]].type == 'text' ||
    form[oDate[x][0]].type == 'textarea') &&
    (value.length > 0) &&
    (datePattern.length > 0)) {
    var MONTH = "MM";
    var DAY = "dd";
    var YEAR = "yyyy";
    var orderMonth = datePattern.indexOf(MONTH);
    var orderDay = datePattern.indexOf(DAY);
    var orderYear = datePattern.indexOf(YEAR);
    if ((orderDay < orderYear && orderDay > orderMonth)) {
    var iDelim1 = orderMonth + MONTH.length;
    var iDelim2 = orderDay + DAY.length;
    var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
    var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
    if (iDelim1 == orderDay && iDelim2 == orderYear) {
    dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$");
    } else if (iDelim1 == orderDay) {
    dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$");
    } else if (iDelim2 == orderYear) {
    dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$");
    } else {
    dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$");
    var matched = dateRegexp.exec(value);
    if(matched != null) {
    if (!isValidDate(matched[2], matched[1], matched[3])) {
    if (i == 0) {
    focusField = form[oDate[x][0]];
    fields[i++] = oDate[x][1];
    bValid = false;
    } else {
    if (i == 0) {
    focusField = form[oDate[x][0]];
    fields[i++] = oDate[x][1];
    bValid = false;
    } else if ((orderMonth < orderYear && orderMonth > orderDay)) {
    var iDelim1 = orderDay + DAY.length;
    var iDelim2 = orderMonth + MONTH.length;
    var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
    var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
    if (iDelim1 == orderMonth && iDelim2 == orderYear) {
    dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$");
    } else if (iDelim1 == orderMonth) {
    dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$");
    } else if (iDelim2 == orderYear) {
    dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$");
    } else {
    dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$");
    var matched = dateRegexp.exec(value);
    if(matched != null) {
    if (!isValidDate(matched[1], matched[2], matched[3])) {
    if (i == 0) {
    focusField = form[oDate[x][0]];
    fields[i++] = oDate[x][1];
    bValid = false;
    } else {
    if (i == 0) {
    focusField = form[oDate[x][0]];
    fields[i++] = oDate[x][1];
    bValid = false;
    } else if ((orderMonth > orderYear && orderMonth < orderDay)) {
    var iDelim1 = orderYear + YEAR.length;
    var iDelim2 = orderMonth + MONTH.length;
    var delim1 = datePattern.substring(iDelim1, iDelim1 + 1);
    var delim2 = datePattern.substring(iDelim2, iDelim2 + 1);
    if (iDelim1 == orderMonth && iDelim2 == orderDay) {
    dateRegexp = new RegExp("^(\\d{4})(\\d{2})(\\d{2})$");
    } else if (iDelim1 == orderMonth) {
    dateRegexp = new RegExp("^(\\d{4})(\\d{2})[" + delim2 + "](\\d{2})$");
    } else if (iDelim2 == orderDay) {
    dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})(\\d{2})$");
    } else {
    dateRegexp = new Reg

  • Using DAO using a JDBC data source with struts

    Hello,
    I have created a number of Data Access Objects and Transfer Objects to use in a non EJB, struts web application I am developing. I had tested these with a kind of a Service Locator custom class to provide access to a JDBC connection. My custom class is a bit clunky and not very configurable. I would like to use a data source using the struts config XML file e.g.
        <data-sources>
            <!-- configuration for commons BasicDataSource -->
            <data-source type="org.apache.commons.dbcp.BasicDataSource">
                <set-property
                  property="description"
                  value="My MySQL Database Connection" />
                <set-property
                  property="driverClassName"
                  value="com.mysql.jdbc.Driver" />
                <set-property
                  property="url"
                  value="jdbc:mysql://localhost/databaseName" />
                <set-property
                  property="username"
                  value="myUsername" />
                <set-property
                  property="password"
                  value="xxxxxxxxx" />
                <set-property
                  property="maxActive"
                  value="10" />
                <set-property
                  property="maxWait"
                  value="5000" />
                <set-property
                  property="defaultAutoCommit"
                  value="false" />
                <set-property
                  property="defaultReadOnly"
                  value="false" />
             </data-source>
        </data-sources>This is great, and precisely the kind of thing I would like to use. However, this datasource is only available AFAIK through a HttpServletRequest instance like in the example I found below...
        public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                                     HttpServletResponse response)     throws Exception
            javax.sql.DataSource dataSource = null;
            java.sql.Connection myConnection = null;
            try {
             dataSource = getDataSource(request);
             myConnection = dataSource.getConnection();
             // do what you wish with myConnection
            } catch (SQLException sqle) {
               getServlet().log("Connection.process", sqle);
            } finally {
               //enclose this in a finally block to make
               //sure the connection is closed
               try {
                  if(myConnection != null)
                      myConnection.close();
               } catch (SQLException e) {
                  getServlet().log("Connection.close", e);
            return (mapping.findForward("success"));
        }That would be great if I wanted to use the database connection anywhere near a struts Action (wrong tier!). I want access like that to to a data source in my DAOs. Is it possible for me to use the data-sources aproach to access the DB from my DAOs or will I need to use something like JNDI to do this in a similar way but separate from struts. If so I have a big gap in my knowledge as far as JNDI goes which I need to fill and that will be my next question
    I'm relatively new to using patterns inn Java and any help or pointers would be great.
    Thanks :)

    Create a JAAS Authentication Entry in the Server configuration.
    This should then appear in the drop-down when specifying your DataSource.

  • How to  configure  for struts-config.xml

    Hi
    I am having a JSp which is Mapped to anothr action through the registration.The registartion is mapped to action
    <%@ page contentType="text/html;charset=UTF-8" %>
    <%@ page import="org.apache.struts.validator.ValidatorPlugIn" session="true" %>
    <%@ page import="org.apache.struts.Globals" %>
    <%@ taglib uri="/tags/struts-bean" prefix="bean" %>
    <%@ taglib uri="/tags/struts-html" prefix="html" %>
    <%@ taglib uri="/tags/struts-logic" prefix="logic" %>
    <html:html locale="true">
    <head>
    <title><bean:message key="index.title"/></title>
    <html:base/>
    </head>
    <body bgcolor="white">
    <logic:notPresent name="<%= Globals.MESSAGES_KEY %>" >
      <font color="red">
        ERROR:  Application resources not loaded -- check servlet container
        logs for error messages.
      </font>
    </logic:notPresent>
    <%-- :TODO: Need code to do this with moudles
    <logic:notPresent name="<%= ValidatorPlugIn.VALIDATOR_KEY %>" >
      <font color="red">
        ERROR:  Validator resources not loaded -- check Commons Logging
        logs for error messages.
      </font>
    </logic:notPresent>
    --%>
    <h3><bean:message key="registrationForm.title"/>1222AAAAAAAAAAAAA</h3>
    <ul>
      <li><html:link action="Test.jsp">Test212121.jsp</html:link >
       <li><html:link action="/registration"><bean:message key="registrationForm.title"/></html:link></li>
       <%System.out.println("hellooooooooooooo");%>
       <!-- :TODO: Should have a non-JaveScript message-by-field example -->
       <li>
          <html:link action="/jsRegistration"><bean:message key="jsRegistrationForm.title"/></html:link> -
          <bean:message key="jsRegistrationForm.description"/>
       </li>
       <li>
          <html:link action="/multiRegistration"><bean:message key="multiRegistrationForm.title"/></html:link> -
          <bean:message key="multiRegistrationForm.description"/>
       </li>
    </ul>
    <a href="registration.jsp">Registration Test</a>
    <p> </p>
    <h3><bean:message key="typeForm.title"/></h3>
    <ul>
       <li>
          <html:link action="/type"><bean:message key="typeForm.title"/></html:link> -
          <bean:message key="typeForm.description"/>
       </li>
       <li>
          <html:link action="/editJsType"><bean:message key="jsTypeForm.title"/></html:link> -
          <bean:message key="jsTypeForm.description"/>
       </li>
    </ul>
    <p> </p>
    <h3>Change Language | Changez Le Langage</h3>
    <ul>
       <li><html:link action="/locale?language=en">English | Anglais</html:link></li>
       <li>
          <html:link action="/locale?language=fr">French | Francais</html:link> -
          <bean:message key="localeForm.fr"/>
       </li>
       <li>
          <html:link action="/locale?language=fr&country=CA">French Canadian | Francais Canadien</html:link> -
          <bean:message key="localeForm.frCA"/>
       </li>
       <li>
          <html:link action="/locale?language=ja" useLocalEncoding="true">Japanese | Japonais</html:link> -
          <bean:message key="localeForm.ja"/>
       </li>
    </ul>
    <p> </p>
    ==============struts-config.xml=================\<?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE struts-config PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
    "http://struts.apache.org/dtds/struts-config_1_2.dtd">
    <struts-config>
    <!--============================================== Form Bean Definitions -->
    <form-beans>
    <!-- Registration form bean -->
    <form-bean name="registrationForm" type="validator.RegistrationForm" />
    <!-- Multi-Part Registration form bean -->
    <form-bean name="multiRegistrationForm" type="validator.RegistrationForm" />
    <!-- Type form bean -->
    <form-bean name="typeForm" type="validator.TypeForm" />
    <!-- JavaScript Type form bean -->
    <form-bean name="jsTypeForm" type="validator.TypeForm" />
    </form-beans>
    <!-- ======================================== Global Forward Definitions -->
    <global-forwards>
    <forward name="home" path="/index.jsp" />
    </global-forwards>
    <!-- ========================================= Action Mapping Definitions -->
    <action-mappings>
    <action path="/welcome" forward="/index.jsp" />
    <!-- Registration Action
         -->
    <forward name="registration" path="/registration.do" /> //// ==========>here it is mapped
         <action path="/registration" forward="/registration.jsp" />
         <action path="/registration-submit" type="validator.RegistrationAction" name="registrationForm" scope="request" validate="true" input="input">
    <forward name="input" path="/registration.do" />
    <forward name="success" path="/index.jsp" />
    </action>
         <action path="/jsRegistration" forward="/jsRegistration.jsp" />
    <!-- Multi-Part Registration Action -->
    <action path="/multiRegistration" forward="/multiRegistration1.jsp" />
    <action path="/multiRegistration-submit" type="validator.MultiRegistrationAction" name="multiRegistrationForm" scope="request" validate="false">
    <forward name="success" path="/welcome.do" />
    <forward name="input1" path="/multiRegistration1.jsp" />
    <forward name="input2" path="/multiRegistration2.jsp" />
    </action>
    <!-- Type Action -->
    <action path="/type" forward="/type.jsp" />
    <action path="/type-submit" type="validator.TypeAction" name="typeForm" scope="request" validate="true" input="input">
    <forward name="input" path="/type.do" />
    <forward name="success" path="/welcome.do" />
    </action>
    <!-- JavaScript Type Action -->
    <action path="/editJsType" type="validator.EditTypeAction" scope="request" validate="false">
    <forward name="success" path="/jsType.do" />
    </action>
    <action path="/jsType" forward="/jsType.jsp" />
    <action path="/jsType-submit" type="validator.TypeAction" name="jsTypeForm" scope="request" validate="true" input="input">
    <forward name="input" path="/editJsType-submit.do?typeForm.reset=false" />
    <forward name="success" path="/welcome.do" />
    </action>
    <!-- Locale Action -->
    <action path="/locale" type="validator.LocaleAction" name="localeForm" scope="request">
    <forward name="success" path="/welcome.do" />
    </action>
    </action-mappings>
    <!-- ============================================= Controller Definition -->
    <controller inputForward="true" />
    <!-- ===================================== Message Resources Definitions -->
    <message-resources parameter="validator.MessageResources" />
    <!-- ============================================ Plug Ins Configuration -->
    <!--
    Add multiple validator resource files by setting the pathnames property
    with a comma delimitted list of resource files to load.
    -->
    <plug-in className="validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validator/validation.xml" />
    <set-property property="stopOnFirstError" value="true" />
    </plug-in>
    </struts-config>
    <html:img page="/struts-power.gif" altKey="index.powered"/>
    </body>
    </html:html>

    Hey,
    U can do it the way u want. Use DispatchAction Class instead of Action Class. Just go through the documentation for this. If u still have problem let me know.
    Thanks
    KM
    Hi,
    I am new to struts and when i am doing my application i find some >>difficulty i.e,
    I have two buttons on a jsp page Save,Delete.when I click on >>save ,saveAction must be called.if we click delete deleteAction to be >>called.
    for this how can I configure in struts-config.xml file. and how it >>knows which button has been clicked.
    Can any one please guid me.
    Thanks

Maybe you are looking for

  • TS1389 I have the error 42111 when I start iTunes.

    Hello, I have the error 42111 when I start iTunes. I did not download a movie, I just installed the newest version of iTunes. I reinstalled but that didin't help. What can I do? I have Windows 8.

  • How to perform Auto Save using Enhancement Id.

    Hi, I am working on an enhancement object in which i have to perform Auto Save functionality,when particular enhancement ID is active. To check activity status of the enhancement ID, function module 'Z_CC_CHECK_ENH_ACTIVE'  is used. When the enhancem

  • Is there any type of "kidwatch" protection for ipad 2

    Is there anything available for ipad2 that can prevent a user from getting to sexually explicit content? I'm looking for something that will keep a 14 year old from googling and viewing inappropriate content with his friends. Need something that has

  • Flash Pro CC - Reverse Upgrade: Import functions gone

    I use Flash for one thing only: creating graphic assets in the Library which are assigned class names and exported to SWCs. I do all my development in an IDE (PowerFlasher). A big part of this process is converting Illustrator and Photoshop assets in

  • Password not recognised

    I can't sign into Skype because it says the password is wrong even though I know it is correct. I asked for a password reminder and received a password token to re-set my password but the Skype system won't recognise the temporary code even though I