Struts-action-mappings

Hello forums,
i have a problem i have small structs app.
and i have made a small jsp that called it,
but when I call the jsp I get the error saying that jsp-compile error,the actions mappings can not be found.
any suggestion ?

Could you please provide versions of
OC4J
Struts and
the entire error message.
thanks,
-Prasad

Similar Messages

  • Help--Struts-action-mappings

    Hello forums,
    i have a problem i have small structs app.
    and i have made a small jsp that called it,
    but when I call the jsp I get the error saying that jsp-compile error,the actions mappings can not be found.
    any suggestion ?
    Thanks a lot for your time.sorry about the mess.
    I just run untitled1.jsp from jdev903_pre:
    the strute -version is the one that comes with jdev903_pre.
    C:\jdev903_pre\jakarta-struts
    Here is my jsp.
    untitle1.jsp
    <%@ page language="java" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>
    Hello World
    </title>
    </head>
    <body>
    <html:form action="/action.do">
    <html:text property="loginIni" />
    <html:submit title="Click" />
    </html:form>
    <h2>
    The current time is:
    </h2>
    <p>
    <%= new java.util.Date() %></p>
    </body>
    </html>
    strut-config.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" " " target="_new">http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config>
    <message-resources parameter="mypackage9.ApplicationResources"/>
    <!-- ========== Form Bean Definitions ================= -->
    <form-beans>
    <form-bean name="actionForm"
    type="ActionForm1"/>
    </form-beans>
    <!-- ========== Action Mapping Definitions ============ -->
    <action-mappings>
    <action path="/action"
    type="Action1"
    name="actionForm"
    scope="request"
    input="/untitled1.jsp"/>
    <forward name="success" path="/untitled1.jsp"/>
    </action>
    </action-mappings>
    </struts-config>
    my web.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " " target="_new">http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app>
    <description>Empty web.xml file for Web Application</description>
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <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>
    <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>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
    </mime-mapping>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    <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>
    package mypackage9;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class Action1 extends Action
    * This is the main action called from the Struts framework.
    * @param mapping The ActionMapping used to select this instance.
    * @param form The optional ActionForm bean for this request.
    * @param request The HTTP Request we are processing.
    * @param response The HTTP Response we are processing.
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    ActionForm1 fom=(ActionForm1)form;
    return mapping.findForward("success");
    package mypackage9;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionMapping;
    import javax.servlet.http.HttpServletRequest;
    public class ActionForm1 extends ActionForm
    * Reset all properties to their default values.
    * @param mapping The ActionMapping used to select this instance.
    * @param request The HTTP Request we are processing.
    public void reset(ActionMapping mapping, HttpServletRequest request)
    super.reset(mapping, request);
    * Validate all properties to their default values.
    * @param mapping The ActionMapping used to select this instance.
    * @param request The HTTP Request we are processing.
    * @return ActionErrors A list of all errors found.
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
    return super.validate(mapping, request);
    ERROR
    500 Internal Server Error
    javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
    void org.apache.struts.taglib.html.FormTag.lookup()
    FormTag.java:858
    int org.apache.struts.taglib.html.FormTag.doStartTag()
    FormTag.java:543
    void untitled1.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    [untitled1.jsp]
    untitled1.jsp:15
    void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    HttpJsp.java:139
    void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
    JspPageTable.java:317
    void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    JspServlet.java:465
    void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    JspServlet.java:379
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    HttpServlet.java:853
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    ServletRequestDispatcher.java:724
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
    ServletRequestDispatcher.java:309
    boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
    HttpRequestHandler.java:767
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
    HttpRequestHandler.java:259
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
    HttpRequestHandler.java:106
    void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
    PooledExecutor.java:803
    void java.lang.Thread.run()
    Thread.java:484

    Jean,
    Your struts-config.xml is not correct. You should not have a terminator after:
    input="/untitled1.jsp"/>
    instead it should be:
    input="/untitled1.jsp">
    As a result the mapping was never found...
    Also your class names need to be package prefixed:
    type="mypackage9.ActionForm1"
    That will get you started.
    You can use the XML syntax checker with right-click menu on the xml node in the navigator.
    Charles.

  • Struts-action-mappings-3

    Hello forums,
    i have a problem i have small structs app.
    and i have made a small jsp that called it,
    but when I call the jsp I get the error saying that jsp-compile error,the actions mappings can not be found.
    any suggestion ?
    Thanks a lot for your time.sorry about the mess.
    I just run untitled1.jsp from jdev903_pre:
    the strute -version is the one that comes with jdev903_pre.
    C:\jdev903_pre\jakarta-struts
    Here is my jsp.
    untitle1.jsp
    <%@ page language="java" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>
    Hello World
    </title>
    </head>
    <body>
    <html:form action="/action.do">
    <html:text property="loginIni" />
    <html:submit title="Click" />
    </html:form>
    <h2>
    The current time is:
    </h2>
    <p>
    <%= new java.util.Date() %></p>
    </body>
    </html>
    strut-config.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!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>
    <message-resources parameter="mypackage9.ApplicationResources"/>
    <!-- ========== Form Bean Definitions ================= -->
    <form-beans>
    <form-bean name="actionForm"
    type="ActionForm1"/>
    </form-beans>
    <!-- ========== Action Mapping Definitions ============ -->
    <action-mappings>
    <action path="/action"
    type="Action1"
    name="actionForm"
    scope="request"
    input="/untitled1.jsp"/>
    <forward name="success" path="/untitled1.jsp"/>
    </action>
    </action-mappings>
    </struts-config>
    my web.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!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>
    <description>Empty web.xml file for Web Application</description>
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <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>
    <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>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
    </mime-mapping>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    <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>
    package mypackage9;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class Action1 extends Action
    * This is the main action called from the Struts framework.
    * @param mapping The ActionMapping used to select this instance.
    * @param form The optional ActionForm bean for this request.
    * @param request The HTTP Request we are processing.
    * @param response The HTTP Response we are processing.
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    ActionForm1 fom=(ActionForm1)form;
    return mapping.findForward("success");
    package mypackage9;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionMapping;
    import javax.servlet.http.HttpServletRequest;
    public class ActionForm1 extends ActionForm
    * Reset all properties to their default values.
    * @param mapping The ActionMapping used to select this instance.
    * @param request The HTTP Request we are processing.
    public void reset(ActionMapping mapping, HttpServletRequest request)
    super.reset(mapping, request);
    * Validate all properties to their default values.
    * @param mapping The ActionMapping used to select this instance.
    * @param request The HTTP Request we are processing.
    * @return ActionErrors A list of all errors found.
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
    return super.validate(mapping, request);
    ERROR
    500 Internal Server Error
    javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
    void org.apache.struts.taglib.html.FormTag.lookup()
    FormTag.java:858
    int org.apache.struts.taglib.html.FormTag.doStartTag()
    FormTag.java:543
    void untitled1.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    [untitled1.jsp]
    untitled1.jsp:15
    void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    HttpJsp.java:139
    void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
    JspPageTable.java:317
    void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    JspServlet.java:465
    void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    JspServlet.java:379
    void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    HttpServlet.java:853
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
    ServletRequestDispatcher.java:724
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
    ServletRequestDispatcher.java:309
    boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
    HttpRequestHandler.java:767
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
    HttpRequestHandler.java:259
    void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
    HttpRequestHandler.java:106
    void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
    PooledExecutor.java:803
    void java.lang.Thread.run()
    Thread.java:484

    Check out the posting
    Re: Different color other then selecting one from the tool palette
    Also, suggest if you are having a problem in Jdev environment,
    posting on the Jdeveloper forum might be more appropriate.
    -Prasad

  • Struts-action-mappings-2

    Hello forums,
    i have a problem i have small structs app.
    and i have made a small jsp that called it,
    but when I call the jsp I get the error saying that jsp-compile error,the actions mappings can not be found.
    any suggestion ?
    500 Internal Server Error
    javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
         void org.apache.struts.taglib.html.FormTag.lookup()
              FormTag.java:858
         int org.apache.struts.taglib.html.FormTag.doStartTag()
              FormTag.java:543
         void untitled1.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
         [untitled1.jsp]
              untitled1.jsp:15
         void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpJsp.java:139
         void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
              JspPageTable.java:317
         void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:465
         void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
              JspServlet.java:379
         void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              HttpServlet.java:853
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
              ServletRequestDispatcher.java:724
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
              ServletRequestDispatcher.java:309
         boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
              HttpRequestHandler.java:767
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
              HttpRequestHandler.java:259
         void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
              HttpRequestHandler.java:106
         void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
              PooledExecutor.java:803
         void java.lang.Thread.run()
              Thread.java:484

    You'd need to provide a lot more information to have any hope of getting a useful answer.
    What version of Struts are you using?
    What does your "web.xml" file look like?
    What does your "struts-config.xml" file look like?
    What does your WAR structure look like?
    What does your JSP page look like?

  • How to call a struts action from a JSF page

    I am working on a small POC that has to do with struts-faces. I need to know how to call a struts ".do" action from a JSF page..
    Sameer Jaffer

    is it not possible to call a action from the faces submit button and/or the navigation?
    This a simple POC using struts-faces exmaples.
    Here is my struts-config and faces-config file.
    <struts-config>
    <data-sources/>
    <form-beans>
      <form-bean name="GetNameForm" type="demo.GetNameForm"/>
    </form-beans>
    <global-exceptions/>
    <global-forwards>
      <forward name="getName" path="/pages/inputname.jsp"/>
    </global-forwards>
    <action-mappings>
      <action name="GetNameForm" path="/greeting" scope="request" type="demo.GreetingAction">
       <forward name="sayhello" path="/pages/greeting.jsp"/>
      </action>
    </action-mappings>
    <controller>
        <set-property property="inputForward" value="true"/>
        <set-property property="processorClass"
                value="org.apache.struts.faces.application.FacesRequestProcessor"/>
    </controller>
    </struts-config>faces-config
    <faces-config>
    <managed-bean>
      <managed-bean-name>calculate</managed-bean-name>
      <managed-bean-class>com.jsftest.Calculate</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <managed-bean>
      <managed-bean-name>GetNameForm</managed-bean-name>
      <managed-bean-class>demo.GetNameForm</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
      <from-view-id>/calculate.jsp</from-view-id>
      <navigation-case>
       <from-outcome>success</from-outcome>
       <to-view-id>/success.jsp</to-view-id>
      </navigation-case>
      <navigation-case>
       <from-outcome>failure</from-outcome>
       <to-view-id>/failure.jsp</to-view-id>
      </navigation-case>
    </navigation-rule>
    <navigation-rule>
      <from-view-id>/inputNameJSF.jsp</from-view-id>
      <navigation-case>
       <to-view-id>/pages/greeting.jsp</to-view-id>
      </navigation-case>
    </navigation-rule>
    </faces-config>in my inputNameJSF.jsp (faces page)
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
    <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
    <%@ taglib prefix="s" uri="http://struts.apache.org/tags-faces" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Say Hello!!</title>
    </head>
    <body>
    Input Name
    <f:view>
         <h:form >
              <h:inputText value="#{GetNameForm.name}" id = "name" />
              <br>
              <h:commandButton id="submit"  action="/greeting.do" value="   Say Hello!   " />
         </h:form>
    </f:view>
    </body>
    </html>I want to be able to call the struts action invoking the Action method in the that returns the name
    package demo;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    public class GreetingAction extends org.apache.struts.action.Action {
        // Global Forwards
        public static final String GLOBAL_FORWARD_getName = "getName";
        // Local Forwards
        private static final String FORWARD_sayhello = "sayhello";
        public GreetingAction() {
        public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
            String name = ((demo.GetNameForm)form).getName();
            String greeting = "Hello, "+name+"!";
            request.setAttribute("greeting", greeting);
            return mapping.findForward(FORWARD_sayhello);
    }Edited by: sijaffer on Aug 11, 2009 12:03 PM

  • Call struts action from javascript?

    Hi all
    I'm having problem already discussed here quite a lot, but I have idea to solve it different way. And need to know is it possible or I'm doing mission impossible here :(
    I have JSP with 2 drop down lilsts, where the second is populated according to selected value from first - that's basically my problem.
    Is it possible to somehow only call my struts action which will return all needed values using javascript and onchange event handler?
    I dont have any experience with javascript, and I'm trying to avoid it as much as possible at the moment.
    Thanks in advance

    well as far your requirement is concern if at all you are planning to implement AJAX try to use the below link which might be of some help...
    http://www.it-eye.nl/weblog/2005/12/13/ajax-in-struts-implementing-dependend-select-boxes/
    However,I somehow feel there are few loopholes in the author's approach...
    i advice to use XmlHttpRequest.reponseXML property there.
    However, i've mentioned a sample code snippet for you reference.
    XML Response Pattern :
    ======================
    <? xml version="1.1" ?>
    <dropdown>
    <option>
    <val>CUSTOMIZED_VALUE</val>
    <text>CUSTOMIZED_VALUE</text>
    </option>
    </dropdown>Sample.jsp:
    ===========
    <%@page language="java" %>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Automatic Drop-Down Updation</title>
         <script language="javascript">
          // Global Variable for XmlHttp Request Object  
          var xmlhttp
          // Timer Variables
          var c = 0
          var t
           /* A function which calls a servlet  named AjaxServlet to get XmlData using XmlHttpObject */    
            function refreshCombo(txt){
                xmlhttp = null
                // code for initializing XmlHttpRequest Object On Browsers like  Mozilla, etc.
                if (window.XMLHttpRequest){
                     xmlhttp = new XMLHttpRequest()
                // code for initializing XmlHttpRequest Object On Browsers like IE
               else if (window.ActiveXObject) {
                   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
               if (xmlhttp != null){
                  // Setting the Action url to get XmlData
                   url = "dropdown.do?count="+txt;
                   // Course of Action That Should be Made if their is a change in XmlHttpRequest Object ReadyState NOTE : it is 4 when it has got request from CGI
                   xmlhttp.onreadystatechange = getResponseAction;
                   // Open the Request by passing Type of Request & CGI URL
                   xmlhttp.open("GET",url,true);
                   // Sending URL Encoded Data
                   xmlhttp.send(null);
               else{
                 // Only Broswers like IE 5.0,Mozilla & all other browser which support XML data Supports AJAX Technology
                 // In the Below case it looks as if the browser is not compatiable
                  alert("Your browser does not support XMLHTTP.")
          /* Used for verifing right ReadyState & Status of XmlHttpRequest Object returns true if it is verified */
          function verifyReadyState(obj){
             // As Said above if XmlHttp.ReadyState == 4 then the Page Has got Response from WebServer
              if(obj.readyState == 4){
               // Similarly if XmlHttp.status == 200 it means that we have got a Valid response from the WebServer
                if(obj.status == 200){               
                    return true
                 else{
                    alert("Problem retrieving XML data")
          /* Action that has to take place after getting reponse */
          function getResponseAction(){
              // Verifying State & Status
              if(verifyReadyState(xmlhttp) == true){
                  // Building a DOM parser from Response Object
                  var response = xmlhttp.responseXML.documentElement
                  // Deleting all the Present Elements in the Drop-Down Box
                  drRemove()      
                  // Checking for the Root Node Tag
                  var x = response.getElementsByTagName("option")
                  var val
                  var tex
                  var optn
                  for(var i = 0;i < x.length; i++){
                     optn = document.createElement("OPTION")
                     var er
                     // Checking for the tag which holds the value of the Drop-Down combo element
                     val = x.getElementsByTagName("val")
    try{
    // Assigning the value to a Drop-Down Set Element
    optn.value = val[0].firstChild.data
    } catch(er){
    // Checking for the tag which holds the Text of the Drop-Down combo element
    tex = x[i].getElementsByTagName("text")
    try{
    // Assigning the Text to a Drop-Down Set Element
    optn.text = tex[0].firstChild.data
    } catch(er){
    // Adding the Set Element to the Drop-Down
    document.SampleForm.SampleCombo.options.add(optn)
    /* Function removes all the elements in the Drop-Down */
    function drRemove(){
    var x = document.SampleForm.SampleCombo
    for(var i = document.SampleForm.SampleCombo.length - 1 ; i >= 0 ; i--){                     
    x.remove(i)
    </script>
    </head>
    <body onload="syncCount()">
    <pre> <h1>Refresh Drop-Down <div id='txt'> </div> </h1></pre>
    <form name="SampleForm">
    <!-- Drop Down which has country list -->
    <select name="x" onchange="refreshCombo(this.value)">
                   <option value="1">United States</option>
                   <option value="2">United Kingdom</option>
                   <option value="3">United Arab Emriates</option>
    </select>
    <!-- Drop Down which is dependent on Country Drop down get list of states -->
    <select name="SampleCombo">
    <option value="-1">Pick One</option>
    </select>
    </form>
    </body>
    </html>
    struts-config.xml:
    ==================
    <action-mappings>
    <action path="/dropdown" type="com.controlleraction.AjaxActionClass">
    <forward name="error" path="/error.jsp"/>
    </action>
    </action-mappings>AjaxActionClass.java:
    =====================
    package com.controlleraction;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    public class AjaxActionClass extends DispatchAction {
      public ActionForward execute( ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws Exception {
        String req = new String("");
        try{
           req = request.getParameter("count");
        } catch(Exception exp){
       if(!req.equals("")){
           response.setContentType("text/xml");        
           response.setHeader("Pragma","no-cache");
           response.setHeader("Cache-Control","no-cache,post-check=0,pre-check=0");
           PrintWriter out = response.getWriter();
           /*a sample bean where we trying to call a service from Model*/
           com.Biz.XmlBean xml = new XmlBean();
           String buffer = xml.getXmlData(req);
           if(xml.close() == true && buffer.equals("") == false)
             out.write(buffer);     
           return(null);
      } else {
         return new ActionForward("error");
    }XmlBean.java:
    =============
    * XmlBean.java
    import java.sql.*;
    import java.util.*;
    import java.io.*;
    * @author RaHuL
    public class XmlBean {
        private Connection con = null;
        private PreparedStatement pstmt = null;
        private ResultSet rs = null;
        // Setting CLASSURL path to TYPE I Driver
        private String CLASSURL = "sun.jdbc.odbc.JdbcOdbcDriver";
        /* Specifing CONNECTION PATH to a DSN named TestDsn
         * Please Make Sure you create a DSN Named TestDsn to your database which holds EMP table
        private String CONNECTIONURL = "jdbc:odbc:TestDsn";
        boolean IS_ESTABLISHED = false;
        /** Creates a new instance of XmlBean and also establishes DB Connections */
        public XmlBean() {
            try{
                Class.forName(CLASSURL);
                con = DriverManager.getConnection(CONNECTIONURL,"admin","");
                IS_ESTABLISHED = true;
            } catch(SQLException sqe){
                sqe.printStackTrace();
            } catch(Exception exp){
                exp.printStackTrace();
        /* Generates XmlData For the Business Logic Specified */
        public String getXmlData(String req){
            String XmlBuffer = new String("");
            if(IS_ESTABLISHED == true){
                try{
                    pstmt = con.prepareStatement("SELECT stateid,statename FROM STATE_TABLE where countryid = ?");
                    pstmt.setString(1,req);
                    rs = pstmt.executeQuery();
                    if(rs != null){
                        XmlBuffer = XmlBuffer + "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
                        XmlBuffer = XmlBuffer + "<!--  Edited by Rahul Sharma -->";
                        // Root Node
                        XmlBuffer = XmlBuffer + "<dropdown>";
                        while(rs.next()){
                            String value = rs.getString(1);
                            String text = rs.getString(2);
                            // Sub-root Node
                            XmlBuffer = XmlBuffer + "<option>";
                            // node which holds value of drop-down combo
                            XmlBuffer = XmlBuffer + "<val>"+value+"</val>";
                            // node which holds text for drop-down combo
                            XmlBuffer = XmlBuffer + "<text>"+text+"</text>";
                            XmlBuffer = XmlBuffer + "</option>";
                        XmlBuffer = XmlBuffer + "</dropdown>";
                }catch(SQLException sqe){
                    sqe.printStackTrace();
                } catch(Exception exp){
                    exp.printStackTrace();
            return(XmlBuffer);
        /* Closes the DB Connection Conmpletely */
        public  boolean close(){
            if(IS_ESTABLISHED == true){
                try{
                    pstmt.close();
                    con.close();
                    return(true);
                } catch(SQLException sqe){
                    sqe.printStackTrace();
                } catch(Exception exp){
                    exp.printStackTrace();
            return(false);
    NOTE: I understand i'm not completely coded things as per proper coding standards.please execuse me for that as this example was just given to enable user to learn how XmlHttpRquest,reponseXML
    can be used for better purposes instead of devising manual parsing.
    where i've used XmlHttpResponse pattern to be in XML. you may make use of other practices like JSON & so on depending on your requirement..
    and and if you are more instrested in integrating Struts with AJAX using few frameworks & customized tag based support please go though the below link.
    http://struts.sourceforge.net/ajaxtags/index.html
    Hope that might help :)
    REGARDS,
    RaHuL

  • Setting ViewObject Stored Procedure Where Clause Param from Struts Action

    I adapted/used Steve's example to get stored procedure to populate my ViewObject. However, I could not retrieve any rows after passing whereClause value from Struts action. The param in execureQueryForCollection returns null.
    What could be wrong. Thanks.
    Here's my code.
    ViewObjectImpl:
    package org.adb.sls.model;
    import java.math.BigDecimal;
    import java.sql.CallableStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Timestamp;
    import java.sql.Types;
    import oracle.jbo.JboException;
    import oracle.jbo.domain.Date;
    import oracle.jbo.domain.Number;
    import oracle.jbo.server.DBTransaction;
    import oracle.jbo.server.ViewObjectImpl;
    import oracle.jbo.server.ViewRowImpl;
    import oracle.jbo.server.ViewRowSetImpl;
    import oracle.jdbc.driver.OracleCallableStatement;
    import oracle.jdbc.driver.OracleTypes;
    // --- File generated by Oracle ADF Business Components Design Time.
    // --- Custom code may be added to this class.
    public class ViewApplicableLoanTypesImpl extends ViewObjectImpl
    * PLSQL block that will execute the REF_CURSOR
    private static final String SQL =
    "begin ? := sls_loan_types_pkg.get_applcbl_staff_lns_fn(?); end;";
    * PLSQL block that will count the REF_CURSOR returned rows
    private static final String COUNTSQL =
    "begin ? := sls_loan_types_pkg.get_count_applcbl_staff_lns_fn(?); end;";
    * This is the default constructor (do not remove)
    public ViewApplicableLoanTypesImpl()
    * Overridden framework method.
    * Wipe out all traces of a built-in query for this VO
    protected void create() {
    getViewDef().setQuery(null);
    getViewDef().setSelectClause(null);
    setQuery(null);
    * Overidden framework method
    protected void executeQueryForCollection(Object qc, Object[] params, int noUserParams)
    // input parameter is employee number
    String employeeNumber = null;
    if (params != null) {
    employeeNumber = (String) params[0];
    } else
    System.out.println("param is null");
    storeNewResultSet(qc,retrieveRefCursor(qc,employeeNumber));
    super.executeQueryForCollection(qc, params, noUserParams);
    protected ViewRowImpl createRowFromResultSet(Object qc, ResultSet rs)
    * We ignore the JDBC ResultSet passed by the framework (null anyway) and
    * use the resultset that we've stored in the query-collection-private
    * user data storage
    rs = getResultSet(qc);
    * Create a new row to populate
    ViewRowImpl r = createNewRowForCollection(qc);
    try {
    * Populate new row by attribute slot number for current row in Result Set
    populateAttributeForRow(r,0, nullOrNewNumber(rs.getBigDecimal(1)));
    populateAttributeForRow(r,1, nullOrNewNumber(rs.getBigDecimal(2)));
    populateAttributeForRow(r,2, rs.getString(3));
    populateAttributeForRow(r,3, nullOrNewNumber(rs.getBigDecimal(4)));
    populateAttributeForRow(r,4, rs.getString(5));
    catch (SQLException s) {
    throw new JboException(s);
    return r;
    protected boolean hasNextForCollection(Object qc)
    ResultSet rs = getResultSet(qc);
    boolean nextOne = false;
    try {
    nextOne = rs.next();
    * When were at the end of the result set, mark the query collection
    * as "FetchComplete".
    if (!nextOne) {
    setFetchCompleteForCollection(qc, true);
    * Close the result set, we're done with it
    rs.close();
    catch (SQLException s) {
    throw new JboException(s);
    return nextOne;
    protected void releaseUserDataForCollection(Object qc, Object rs)
    * Ignore the ResultSet passed in since we've created our own.
    * Fetch the ResultSet from the User-Data context instead
    ResultSet userDataRS = getResultSet(qc);
    if (userDataRS != null) {
    try {
    userDataRS.close();
    catch (SQLException s) {
    /* Ignore */
    super.releaseUserDataForCollection(qc, rs);
    public long getQueryHitCount(ViewRowSetImpl viewRowSet)
    Object[] params = viewRowSet.getParameters(true);
    String id = (String)params[0];
    CallableStatement st = null;
    try {
    st = getDBTransaction().createCallableStatement(COUNTSQL,DBTransaction.DEFAULT);
    * Register the first bind parameter as our return value of type CURSOR
    st.registerOutParameter(1,Types.NUMERIC);
    * Set the value of the 2nd bind variable to pass id as argument
    if (id == null) st.setNull(2,Types.VARCHAR);
    else st.setString(2,id);
    st.execute();
    return st.getLong(1);
    catch (SQLException s) {
    throw new JboException(s);
    finally {try {st.close();} catch (SQLException s) {}}
    * Return a JDBC ResultSet representing the REF CURSOR return
    * value from our stored package function.
    private ResultSet retrieveRefCursor(Object qc,String id) {
    CallableStatement st = null;
    try {
    st = getDBTransaction().createCallableStatement(SQL,DBTransaction.DEFAULT);
    * Register the first bind parameter as our return value of type CURSOR
    st.registerOutParameter(1,OracleTypes.CURSOR);
    * Set the value of the 2nd bind variable to pass id as argument
    if (id == null) st.setNull(2,Types.VARCHAR);
    else st.setString(2,id);
    st.execute();
    ResultSet rs = ((OracleCallableStatement)st).getCursor(1);
    * Make this result set use the fetch size from our View Object settings
    rs.setFetchSize(getFetchSize());
    return rs ;
    catch (SQLException s) {
    s.printStackTrace();
    throw new JboException(s);
    finally {try {st.close();} catch (SQLException s) {}}
    * Store a new result set in the query-collection-private user-data context
    private void storeNewResultSet(Object qc, ResultSet rs) {
    ResultSet existingRs = getResultSet(qc);
    // If this query collection is getting reused, close out any previous rowset
    if (existingRs != null) {
    try {existingRs.close();} catch (SQLException s) {}
    setUserDataForCollection(qc,rs);
    hasNextForCollection(qc); // Prime the pump with the first row.
    * Retrieve the result set wrapper from the query-collection user-data
    private ResultSet getResultSet(Object qc) {
    return (ResultSet)getUserDataForCollection(qc);
    * Return either null or a new oracle.jbo.domain.Date
    private static Date nullOrNewDate(Timestamp t) {
    return t != null ? new Date(t) : null;
    * Return either null or a new oracle.jbo.domain.Number
    private static Number nullOrNewNumber(BigDecimal b) {
    try {
    return b != null ? new Number(b) : null;
    catch (SQLException s) { }
    return null;
    Struts Action
    package org.adb.sls.view;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import oracle.jbo.ApplicationModule;
    import oracle.jbo.ViewObject;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import oracle.adf.model.binding.DCDataControl;
    import oracle.adf.model.bc4j.DCJboDataControl;
    import oracle.jbo.html.BC4JContext;
    public class IndexAction extends DefaultADFAction
    protected ActionForward performActionLogic(ActionMapping mapping,
    ActionForm form, HttpServletRequest request,
    HttpServletResponse response)
    throws Exception {
    try {    
    ApplicationModule am = getApplicationModule("SLSApplicableLoanTypesDataControl", request);
    if (am == null)
    System.out.println("am is null");
    ViewObject vo = am.findViewObject("ViewApplicableLoanTypes");
    vo.setWhereClauseParam(0,request.getSession().getAttribute("SSO_EMPLOYEE_NUMBER"));
    vo.executeQuery();
    } catch (Exception e)
    e.printStackTrace();
    return mapping.findForward("success");
    Struts Config
    <form-beans>
    <form-bean name="DataForm" type="oracle.adf.controller.struts.forms.BindingContainerActionForm"/>
    </form-beans>
    <action-mappings>
    <action path="/index" className="oracle.adf.controller.struts.actions.DataActionMapping" type="org.adb.sls.view.IndexAction" name="DataForm" unknown="false">
    <set-property property="modelReference" value="indexUIModel"/>
    <forward name="success" path="/home.do"/>
    </action>
    <action path="/home" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/index.uix" unknown="true">
    <set-property property="modelReference" value="indexUIModel"/>
    </action>
    </action-mappings>

    I just found the solution. I've overridden setWhereClause method.
    public void setWhereClauseParams(Object[] values)
    ViewObjectImpl vo = (ViewObjectImpl) super.getViewObject();
    vo.setWhereClauseParam(0,values[0]);
    }

  • Cannot find message resources under key org.apache.struts.action.MESSAGE ?

    Hi All,
    I am getting the following error.. while running a simple application in struts.
    Cannot find message resources under key org.apache.struts.action.MESSAGE ?
    As I have searched in google but could not find the concreate example so please help and give me a proper answer..
    my struts-config.xml file is as .....
    <code>
    <?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">
    <struts-config>
    <!-- ========== Form Bean Definitions ============ -->
    <form-beans>
         <form-bean name="login" type="test.struts.LoginForm" />
    </form-beans>
    <!-- ========== Global Forward Definitions ========= -->
    <global-forwards>
    </global-forwards>
    <!-- ========== Action Mapping Definitions ======== -->
    <action-mappings>
    <action
         path="/login"
         type="test.struts.LoginAction"
         name="login"
         input="/jsp/LoginView.jsp"
         validate="true">
         <forward name="valid" path="/jsp/MainMenu.jsp" />
         <forward name="invalid" path="/jsp/LoginView.jsp" />
         </action>
    </action-mappings>
    <message-resources null="false" parameter="test.struts.MessageResources"/>
    </struts-config>
    </code>
    And my LoginView.jsp file is as:
    <code>
    <!-- LoginView.jsp -->
    <%@ taglib uri="/struts/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/struts/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/struts/WEB-INF/struts-logic.tld" prefix="struts" %>
    <HTML>
    <HEAD><TITLE><bean:message key="title.login" /></TITLE></HEAD>
    <BODY>
    <bean:message key="heading.login" />
    <html:errors />
    <html:form action="/login">
         <p>
         <bean:message key="label.userId" />:
         <html:text property="userId" size="10" />
         <br>
         <bean:message key="label.passWord" />:
         <html:password property="passWord" size="10" />
         <br><br>
         <html:submit>
              <bean:message key="button.submit" />
         </html:submit>
    </html:form>
    </BODY>
    </HTML>
    </code>
    MessageResources.properties is as :
    <code>
    button.submit=Send for Verification
    error.no.userId=<li>User ID is a required field</li>
    error.no.passWord=<li>Password is a required field</li>
    error.invalid.login=<li>The User ID and/or Password are invalid. Please try again.</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>
    label.userId=User ID
    label.passWord=Password
    heading.login=<H2>Enter your user information</H2>
    title.login=Login Screen
    title.mainmenu=Welcome
    heading.mainmenu=<H1>Welcome!</H1>
    label.userType=<H2>You are authorized to use this system as a</H2>
    </code>
    Please reply soon.
    Thanks in advance
    Amitindia

    Hi All,
    I am getting the following error.. while running a simple application in struts.
    Cannot find message resources under key org.apache.struts.action.MESSAGE ?
    As I have searched in google but could not find the concreate example so please help and give me a proper answer.. my struts-config.xml file is as .....
    <?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"> <struts-config> <!-- ========== Form Bean
    Definitions ============ --> <form-beans> <form-bean name="login"
    type="test.struts.LoginForm" /> </form-beans> <!-- ========== Global Forward Definitions ========= --> <global-forwards> </global-
    forwards> <!-- ========== Action Mapping Definitions ======== --> <action-mappings> <action path="/login" type="test.struts.LoginAction" name="login" input="/jsp/LoginView.jsp" validate="true"> <forward name="valid" path="/jsp/MainMenu.jsp" /> <forward name="invalid" path="/jsp/LoginView.jsp" /> </action> </action-mappings> <message-resources null="false" parameter="test.struts.MessageResources"/> </struts-config>
    And my LoginView.jsp file is as:
    <!-- LoginView.jsp --> <%@ taglib uri="/struts/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/struts/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/struts/WEB-INF/struts-logic.tld" prefix="struts" %> <HTML> <HEAD><TITLE><bean:message key="title.login" /></TITLE></HEAD> <BODY> <bean:message key="heading.login" /> <html:errors /> <html:form action="/login">
    <bean:message key="label.userId" />: <html:text property="userId" size="10" /> <br> <bean:message key="label.passWord" />: <html:password property="passWord" size="10" /> <br><br> <html:submit> <bean:message key="button.submit" /> </html:submit> </html:form> </BODY> </HTML>
    MessageResources.properties is as :
    button.submit=Send for Verification error.no.userId=<li>User ID is a required field</li> error.no.passWord=<li>Password is a required field</li> error.invalid.login=<li>The User ID and/or Password are invalid. Please try again.</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> label.userId=User ID label.passWord=Password heading.login=<H2>Enter your user information</H2> title.login=Login Screen title.mainmenu=Welcome heading.mainmenu=<H1>Welcome!</H1> label.userType=<H2>You are authorized to use this system as a</H2>
    Please reply soon. Thanks in advance Amitindia                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Can't find action mappings

    Hi. I am encountering a "...cant find actionMappings..." error in my struts app when deployed on iplanet 6.0. It works on an apache/tomcat setup which leads me to believe that my web.xml file and struts-config file is set up correctly (i've copied the web.xml file below).
    I've also included nearly every library under the sun so I don't think it has anything to do with that either.
    The error message i get is:
    Internal error: servlet service function had thrown ServletException (uri=/index2.jsp): javax.servlet.ServletException: Cannot find ActionMappings or ActionFormBeans collection, stack: javax.servlet.ServletException: Cannot find ActionMappings or ActionFormBeans collection at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:453) at jsps.index2_jsp._jspService(_index2_jsp.java:95) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:259) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.access$6(JspServlet.java:249) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:530) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:599) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.iplanet.server.http.servlet.NSServletRunner.invokeServletService(NSServletRunner.java:952) at com.iplanet.server.http.servlet.WebApplication.service(WebApplication.java:1094) at com.iplanet.server.http.servlet.NSServletRunner.ServiceWebApp(NSServletRunner.java:1023) , root cause: javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection at org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:798) at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:506) at jsps.index2_jsp._jspService(_index2_jsp.java:70) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:259) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.access$6(JspServlet.java:249) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:530) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:599) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.iplanet.server.http.servlet.NSServletRunner.invokeServletService(NSServletRunner.java:952) at com.iplanet.server.http.servlet.WebApplication.service(WebApplication.java:1094) at com.iplanet.server.http.servlet.NSServletRunner.ServiceWebApp(NSServletRunner.java:1023)
    my web.xml file is
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC
    "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    <web-app>
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <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>3</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <taglib>
         <taglib-uri>http://jakarta.apache.org/struts/tags-bean</taglib-uri>
         <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib>
    <taglib>
         <taglib-uri>http://jakarta.apache.org/struts/tags-html</taglib-uri>
         <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib>
    <taglib>
         <taglib-uri>http://jakarta.apache.org/struts/tags-logic</taglib-uri>
         <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
    </taglib>
    <taglib>
         <taglib-uri>http://jakarta.apache.org/struts/tags-tiles</taglib-uri>
         <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
    </taglib>
    <taglib>
         <taglib-uri>http://jakarta.apache.org/struts/tags-template</taglib-uri>
         <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
    </taglib>
    <taglib>
         <taglib-uri>http://jakarta.apache.org/struts/tags-nested</taglib-uri>
         <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
    </taglib>
    </web-app>
    Any help would be greatly appreciated!

    Hi All,
    I am new to Struts, facing a problem in running the sample application.
    I found some tips in the net, but could not solve the problem.
    Please help me in this regard. I am sorry for the inconvenience.
    Here is the error code.
    root cause
    javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot
    find ActionMappings or ActionFormBeans collection
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:107)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause
    javax.servlet.jsp.JspException: Cannot find ActionMappings or
    ActionFormBeans collection
    org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:798)
    org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:506)
    org.apache.jsp.index_jsp._jspx_meth_html_005fform_005f0(index_jsp.java:128)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:97)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    As per your suggestion, I have changed the dtd in the config file.
    But could not resolve the solution. FYI, I am hereby pasting the
    config and web.xml files.
    <!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-beans>
    <form�|bean name="lookupForm" type="wiley.LookupForm"/>
    </form-beans>
    <action-mappings>
    <action path="/Lookup" type="wiley.LookupAction" name="lookupForm"
    input="/index.jsp">
    <forward name="success" path="/quote.jsp"/>
    <forward name="failure" path="/index.jsp"/>
    </action>
    </action-mappings>
    <message�|resources
    parameter="wiley.ApplicationResources"/>
    </struts�|config>
    web.xml file
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
    <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>
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <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>3</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    </web-app>
    index.jsp The code is :
    <html:form action="Lookup"
    name="lookupForm"
    type="wiley.LookupForm" >
    <table width="45%" border="0">
    <tr>
    <td>Symbol:</td>
    <td><html:text property="symbol" /></td>
    </tr>
    <tr>
    <td colspan="2" align="center"><html:submit /></td>
    </tr>
    </table>
    </html:form>
    Thanks in advance,
    Regards,
    rekha24.

  • Error can't load Servlet org.apache.struts.action.ActionServlet

    Hi,
    I have SAP J2EE 6.20 installed on linux machine. I am trying to deploy struts framework based application and while deploying it..... I am getting error message:
    Error can't load Servlet org.apache.struts.action.ActionServlet : java.lang.NoClassDefFoundError: org/xml/sax/SAXException
    07 19:27:48 -  ***********************************************************
    08/10/07 19:27:48 -  Applying user role management mappings.
    08/10/07 19:27:48 -  Start updating EAR-file...D:\SAPJ2EE Client\deploying\sambodh\sambodh.ear
    08/10/07 19:28:26 -  Temp files deleted...
    08/10/07 19:28:26 -  Ear-file updated successfully for 37860ms.
    08/10/07 19:28:27 -  Start deploying ...
    08/10/07 19:30:35 -  Ear-file uploaded to server for 128047ms.
    08/10/07 19:30:37 -  Successfuly deployed! Deployment took 1953ms.
    08/10/07 19:30:37 -  WARNING : Deploy service return folowing WARNINGs:
                         Error can't load Servlet org.apache.struts.action.ActionServlet : java.lang.NoClassDefFoundError: org/xml/sax/SAXException
                          Deployment took 1953ms.
    08/10/07 19:30:37 -  ***********************************************************
    First time when I got this error, I added struts.jar in my server's <inst_dir>/alone/additional_libs/...... but then also error still exists... Do I have to start  SAP J2EE instance once again and then deploy my application?
    Can anyone help me out in this as this is very very very imp.
    regards

    Hi,
    As per your actions above I believe you have already found SAP Note 435363.
    Basically for a struts application there are no special requirements other than
    1. Make a reference to the inqmyxmltoolkit from the application that is going to use struts before the deployment
    2. Put the struts library into WEB-INF/lib of the application (struts can't be shared among applications)
    3. Deploy the application
    For making the reference you can:
    1. Telnet to the Engine (if you run it as a service and do not have access to its shell directly)
    If telnet port on the Engine dispatcher is 2323
    telnet localhost 2323
    2. Jump to the server node
    for example if the application node's cluster id is 4001
    jump 4001
    3. Execute the commands
    add deploy
    changeref -m  MyApplication library:inqmyxml
    So if it does not work, then I see two reasons possible:
    1. You are using a really old version of the 6.20 Engine - check if you are on PL41.
    2. You have misspelled the name of your application in the reference. The names are case sensitive so you need to be careful. MyApplication is not the same as myApplication or myapplication.
    Regards,
    Iavor

  • Struts Actions before hitting index.jsp

    Hi Guys,
    In my struts project i specify in my web.xml that index.jsp is the first page.
    This is fine but i want to load some data up before index.jsp is rendered i.e i want an action to be called that will forward to this index.jsp page.
    How can i set this up?

    The first thing you will need to do is create an Action class which extends org.apache.struts.action.Action, which does whatever you need it to do. You probably already have this. Let's assume it's called MyAction and is part of the MyPackage package. The return value should be
    return actionMapping.findForward(forward);
    where forward in this example is either the String "success" or "error".
    Assume our new start up page will be called 'init.jsp'. Modify the welcome-file-list attribute of the web.xml file like so:
    <welcome-file-list>
    <welcome-file>init.jsp</welcome-file>
    </welcome-file-list>
    Now crack open struts-config.xml. Create a new global forward
    <global-forwards>
    <forward
    name="init"
    path="/init.do"/>
    </global-forwards>
    Now create a new action mapping
    <action-mappings>
    <action
    path="/init"
    type="MyPackage.MyAction">
    <forward name="success"
    path="/index.jsp"/>
    <forward name="error"
    path="/pages/Error.jsp"/>
    </action>
    </action-mappings>
    Now finally create the init.jsp file. It will consist of these two lines:
    <%@ taglib uri="/tags/struts-logic" prefix="logic" %>
    <logic:redirect forward="init"/>
    I think that should do it for you.
    Mike

  • Problem for Struts action to insert multiple records

    I am writting a code for Struts action which inserting a single record to table A and multiple records to table B .The architecture that I applied is Struts+Spring+iBatis.The multiple records are come from a 10-rows table in the design.The name of each column element is same.The field name other than these are just single-row field.
    <tr>
    <td><input name="date" type="text" size="12" /></td>
    <td><input name="billno" type="text" size="8" /></td>
    <td><input name="desc" type="text" size="11" /></td>
    <td><input name="purpose" type="text" size="20" /></td>
    <td><input name="proName" type="text" size="6" /></td>
    <td><input name="trainingCost" type="text" size="5" /></td>
    <td><input name="travelCost" type="text" size="7" /></td>
    <td><input name="entCost"  type="text" size="5" /></td>
    <td><input name="miscCost" type="text" size="5" /></td>
    </tr> I am using three DTO objects to hold the data.claimArray is the ClaimDTO array that hold the multiple record insert to table B.claimdto is the object that hold the single field record to table A.claim_dtldto is the object that hold the single field record to table B.
    PK of table A and table B are claimNo and claimDtlNo respectively.claimNo is also FK of table B. HTMLUtil is just an API that I used it for type conversion.There will have two insert statements in iBatis xml, insertClaim & insertClaimDtl to insert data into table A and table B respectively.I not sure what went wrong in the code,the data is not inserted into db.Thank advanced for you guys help..
    This is the codes in Action file:
    public class InsertClaimAction extends SpringAction {
       public ActionForward execute(ActionMapping mapping,
                                     ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response) throws Exception {
        // string arrays that store multiple values
        String [] date = new String[10];
        String [] billno = new String[10];
        String [] description = new String[10];
        String [] purpose = new String[10];
        String [] proName = new String[10];
        String [] trainingCost = new String[10];
        String [] travelCost = new String[10];
        String [] entCost = new String[10];
        String [] miscCost = new String[10];
        String staffName = request.getParameter("name");
        String claimMy = request.getParameter("monthyear");
        String department = request.getParameter("department");
        String designation = request.getParameter("designation");
        Double excrate =  HTMLUtil.str2double(request.getParameter("excrate"),0.0);
        Double grandTotal = HTMLUtil.str2double(request.getParameter("grandTotal"),0.0);
        Double totalRM = HTMLUtil.str2double(request.getParameter("totalRM"),0.0);
        Double totalFC =    HTMLUtil.str2double(request.getParameter("totalFC"),0.0);
        String fcName = request.getParameter("fcAbbr");
        if(request.getParameter("date") != null)
            date = request.getParameterValues("date");
        if(request.getParameter("billno") != null)
            billno = request.getParameterValues("billno");
        if(request.getParameter("description") != null)
            description = request.getParameterValues("description");
        if(request.getParameter("purpose") != null)
            purpose = request.getParameterValues("purpose");
        if(request.getParameter("proName") != null)
            proName = request.getParameterValues("proName");
        if(request.getParameter("trainingCost") != null)
            trainingCost = request.getParameterValues("trainingCost");
        if(request.getParameter("travelCost") != null)
            travelCost = request.getParameterValues("travelCost");
        if(request.getParameter("entCost") != null)
            entCost = request.getParameterValues("entCost");
        if(request.getParameter("miscCost") != null)
            miscCost = request.getParameterValues("miscCost");
          //initialize dto
        ClaimDTO claimdto = new ClaimDTO();
        ClaimDTO claim_dtldto = new ClaimDTO();
        ClaimDTO[] claimArray = new ClaimDTO[10];
        claimdto.setClaimNo(claimNo);
        claimdto.setStaffName(staffName);
        claimdto.setClaimMy(claimMy);
        claimdto.setDepartment(department);
        claimdto.setDesignation(designation);
        claimdto.setExcrate(excrate);
        claimdto.setGrandTotal(grandTotal);
        claim_dtldto.setClaimDtlNo(claimDtlNo);
        claim_dtldto.setClaimNo(claimNo);
        claim_dtldto.setTotalRM(totalRM);
        claim_dtldto.setTotalFC(totalFC);
        claim_dtldto.setFcName(fcName);
        for(int i = 0;i < claimArray.length;i++) {
            if(claimArray[i] != null) {
                claimArray.setDate(date[i]);
    claimArray[i].setBillno(billno[i]);
    claimArray[i].setDescription(description[i]);
    claimArray[i].setPurpose(purpose[i]);
    claimArray[i].setProName(proName[i]);
    claimArray[i].setTrainingCost(Double.parseDouble(trainingCost[i]));
    claimArray[i].setTravelCost(Double.parseDouble(travelCost[i]));
    claimArray[i].setEntCost(Double.parseDouble(entCost[i]));
    claimArray[i].setMiscCost(Double.parseDouble(miscCost[i]));
    //service
    ClaimService springservice = (ClaimService)getBean("ClaimService");
    springservice.insertClaim(claimdto);
    springservice.insertClaimDtl(claim_dtldto,claimArray);
    return mapping.findForward("success");

    Two things; you need to pass #number# as a form field and you
    need to pull the correct record out.
    Use this:
    <cfloop list="#form.fieldnames#" index="fieldName">
    <CFSET record = Evaluate("form.record_#number#")>
    </cfloop>
    Here's some example code:

  • Returning xml from a struts action to be used by a ajax client

    Hello,
    I'm having issues with my ajax call on a WAS server. It functions correctly when run locally on tomcat and WSAD servers.
    It looks like the response isnt comming back when the ajax call is made.
    My java struts action does the following:
            String xml = .....
            aResponse.setContentType("text/xml");            
            aResponse.getWriter().write(xml);
            aResponse.getWriter().flush();
           return null;Is this the correct way to pass back a response?
    do I have to set the header? if so, what should it be?
    Thanks,
    Con.

    A JSP is usually easier to construct the XML since you have looping etc. - otherwise OK.

  • Internal links in portal (CSS, images, and other struts actions)

    Good morning gurus! I have another question regarding Struts Portlets. We have an application that builds a page with an image that comes from the database. The application is composed of two Struts actions. One that's in charge of drawing the page and the other action is in charge of bringing the image from the database. The second action is called from a JSP (img src="/getImage.do"). In portal, once the portlet rendered the JSP it doesn't recongnize the other links inside the JSP (the call to the second action). Also, other links suchs as images, CSS, and others Struts actions are not recognized. How can I access images, links, and CSS from the main application (the actual application).
    Best regards,
    Marcelo Oliva
    Message was edited by:
    molivas08

    Hi Andrew -
    This is a pretty big topic for one thread ... I will try to provide some pointers on where to look for more information.
    1. Need ability for non-html literate authors to update text, images and links on their portion of a shared web page
    In the following whitepaper, see the section: Associated Funtion for Item Display
    http://www.oracle.com/technology/products/ias/portal/pdf/oow_10gr2_1336_fender.pdf
    This will allow you to prompt your non-HTML literate users for the "parts" to display and you worry about the UI.
    2. Need ability to enforce common look and feel on content provided by non-html literate authors.
    Create pages based on Templates. Templates can force the style on users. Again - do not use text items and the RTE for users, you control the display with an Associated Function.
    3. Prefer ability to approve content before it goes live.
    Grant content contributors "Manage with Approval" access
    5. Need advanced search capabilities
    Check out the search section on Portal OTN
    http://www.oracle.com/technology/products/ias/portal/content_management_10gr2.html
    Hope this helps,
    Candace

  • How to call struts action manually in onchange property???

    Hello!
    action defined in struts-config.xml:
    <action path="/editLafLm" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/editLafLm.jsp">
    <set-property property="modelReference" value="editLafLmUIModel"/>
    <forward name="Submit" path="/viewLaf.do"/>
    </action>
    In my JSP the following form:
    <html:form action="/editLafLm.do" target="laf" onsubmit="self.close();">
    <input type="hidden" name="<c:out value='${bindings.statetokenid}'/>" value="<c:out value='${bindings.statetoken}'/>"/>
    <html:select property="StaId1">
    <html:optionsCollection label="prompt" value="index" property="StaId1.displayData"/>
    </html:select>
    <c:out value="${bindings.editingMode}"/>
    <input name="event_Submit" type="submit" value="    OK    "/>
    </html:form>
    When i click choose an entry from the Select list and then click the Submit Button all works well (the action forward goes to viewLaf.do)
    But i want to use the "onchange" property on the select list:
    <html:select property="StaId1" onchange="submit();">
    This is not the same as pressing the Submit button because here the action editLafLm.do is done in a new window (and then i have to click the submit button)...
    So can i call the action or the action forward manually in the onchange-property so that there is the same behavour as clicking on the submit button???
    Thanks
    Markus

    Markus,
    You can use the click method on the submit button called "event_Submit". The trick is to access it in the elements array of the form.
    So instead of:
    <html:select property="StaId1" onchange="submit();">you will have
    <html:select property="StaId1" onchange="elements[n].click();">where n is the correct index of the 'event_Submit' element in the array of form elements.
    If you need to access the form by name you can always count the form name to be DataForm. So from the document it will be:
    document.forms.DataForm.elements[8].click()Charles.

Maybe you are looking for

  • Importing ESSWelcome Par file into Eclipse

    Hi Portal Gurus, I am just trying to import the ESSWelcome.par file into Eclipse 2.1 and doing some changes into that. Could someon shed some light on how to do this stuff in eclipse? Because i am getting exception while i am trying to export it back

  • PDF output from payment program (trancode F110)

    We currently use 3rd party software to create PDF files of individual remittance advices from the payment run program, by passing the spool output print stream to this software, which recognises each different vendor remittance, and creates a separat

  • How can I add animated gifs to a slideshow?

    I want to  put some animations into my slideshows. I want to add in animated gifs. I can do this with Videowave (Roxio). Can I do the same thing with elements 8?

  • How to turn off autocomplete in Mail app?

    Hi, I open Mail app and start composing a new e-mail. So far so good. After typing a letter in "to:" field, it offers me e-mail addresses. I just want to turn off this awesome (?!) feature. Is there a way to do it? Iphone 4, ios 5.0.1 Thanks in adv.

  • My Hardrive is being recognised as 70gb to small!?

    Hi! I recently installed a new hardrive. Its an 80gb western digital. My Motherboard is a Ms-6390. It is being recognised as a 10gb hardrive . Could you please tell me why this is happening and how it could be sorted!?  ?( Thanx! Haz