How are you gentlemen!! Somebody set up me the bomb.

I have installed Struts OK, and I've even run the 'struts-example'
application (which means that Struts is working fine with me otherwise.) I'm
trying to create a small application, but I am having problems.

When I type
http://localhost:7001/myapp/listDirectoryContents.do
in the browser, I get a 'page not found'. If I change 'do' to something else
(such as "foo"), I get a Error 404--Not Found, which means that at least the
'action' servlet is called... I am appending my web.xml and
struts-config.xml: for the life of me I can't spot anything wrong about
them.

A second problem that I've wasted my youth on is that my action class adds
an object (bean, if you wish) to the request or session by the following:

HttpSession session = request.getSession();
session.setAttribute("com.covia.struts.folder_contents", di);

or
request.setAttribute("com.covia.struts.folder_contents", di);

(I'm saying 'or' because I've tried both.)

In my JSP I've used the following line:
<logic:iterate id="aFile" name="com.covia.struts.folder_contents"
property="fileroomFolders" scope="session">
 ...

to access this bean, but I get a message saying
<Apr 5, 2001 6:32:56 PM CDT> <Error> <HTTP>
<[WebAppServletContext(2243896,fileroom_struts)] Root cause of
ServletException
javax.servlet.jsp.JspException: Cannot find bean
com.covia.struts.folder_contents in scope session

Again, I've tried this using both 'session' and 'request' scope.

My understanding has been that the action class gets called first. It places
whatever it needs on the request/session, and then the JSP file that's
listed in struts-config.xml as its 'input' runs right afterwards. Did I get
something wrong?

Infinite thanks to whoever can help me with this! I've already wasted a ton
of time - to no avail - trying to solve this.
thanks much,
Iraklis


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

<!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>

  <!-- Action Servlet Configuration -->
  <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>0</param-value>
    </init-param>
    <init-param>
      <param-name>validate</param-name>
      <param-value>false</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>


  <!-- The Welcome File List -->
  <welcome-file-list>
    <welcome-file>welcome.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>

****************************************************************************
****

<?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>

  <data-sources/>

  <!-- ========== Form Bean Definitions
=================================== -->
  <form-beans>

    <!-- Logon form bean -->
    <form-bean      name="listDirForm"

type="com.covia.struts.actionforms.ListDirectoryContentsForm"/>

  </form-beans>


  <!-- ========== Global Forward Definitions
============================== -->
  <global-forwards/>


  <!-- ========== Action Mapping Definitions
============================== -->
  <action-mappings>

    <action    path="/listDirectoryContents"
               type="com.covia.struts.actions.ListDirectoryContentsAction"
               name="listDirForm"
              scope="request"
           validate="false">
      <forward name="listDirectoryContents"
path="/listDir.jsp"/>
        </action>
  </action-mappings>

</struts-config>

Reply via email to