You forgot to extend "Action" class in your own action. Here is why you got a ClassCastException.
<snip> public class AnzeigenAction extends Action { .. } </snip> Ciao Antonio Wolfgang Rinnert wrote: > Hi all, > I am expanding the Struts Upload example. > Right now I work on a step to display the data that have been uploaded to a (server-)local file. > This step consists of invoking an Action that reads the data into request scope, and a JSP to display the data. > When invoking the Action I get an error that I cannot find the cause of. > I guess that it is something elementary - like a misunderstanding of struts-config, > something missing from web.xml, or my Action class missing a crucial element. > BTW, web.xml is unchanged from the example. > Since I cannot find the spot, I am asking for a hint. > Releases used: Sun Java 1.4.2, Tomcat 4.1.30, Struts 1.2.6 > > Regards, > Wolfgang > > Details of the Problem > ================ > > 1. Error Message I get from Tomcat: > ---------------------------------- > > HTTP Status 500 - No action instance for path /anzeigen could be created > > type Status report > > message No action instance for path /anzeigen could be created > > description The server encountered an internal error (No action instance for path /anzeigen could be created) that prevented it from fulfilling this request. > > Apache Tomcat/4.1.30 > > > > 2. Excerpt from logs/catalina.out: > --------------------------------------- > > 23.03.2005 23:07:04 org.apache.struts.action.RequestProcessor processActionCreate > SCHWERWIEGEND: No action instance for path /anzeigen could be created > java.lang.ClassCastException > at org.apache.struts.action.RequestProcessor.processActionCreate(RequestProce ssor.java:280) > at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:21 8) > at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192) > at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:412) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > > > 3. struts-config > ---------------- > > <!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-beans> > <form-bean name="uploadForm" type="wr.upload.UploadForm" /> > </form-beans> > > <global-forwards> > <forward name="home" path="/index.jsp" /> > <forward name="anzeigen" path="/anzeigen.do" /> > <forward name="success2" path="/success2.jsp" /> > </global-forwards> > > <action-mappings> > > <action path="/upload" > type="wr.upload.UploadAction" > name="uploadForm" > scope="request" > input="/upload.jsp"> > <forward name="success1" path="/success1.jsp" /> > </action> > > <action path="/anzeigen" > type="wr.upload.AnzeigenAction" > scope="request" /> > > </action-mappings> > > <controller maxFileSize="2M" /> > > <message-resources parameter="resources.application" null="false" /> > > </struts-config> > > > 4. AnzeigenAction.java > ----------------------- > > package wr.upload; > > import java.util.Vector; > import java.util.logging.Logger; > > 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 AnzeigenAction > { > private static PropertiesSingleton config; > private static Logger logger = LoggerInitiator.getLogger(); > > public AnzeigenAction() > { > logger.info( "AnzeigenAction.java" ); > } > public ActionForward execute( ActionMapping mapping, > ActionForm form, > HttpServletRequest request, > HttpServletResponse response ) > throws Exception > { > config = PropertiesSingleton.getInstance(); > BuchungenLesen bl = new BuchungenLesen(); > Vector bchListe = bl.readFile( config.getProperty( "upload.tempfile" )); > request.setAttribute( "bchListe", bchListe ); > return mapping.findForward( "success2" ); > } > } > > > 5. index.jsp (this is the caller of URI /anzeigen) > ------------ > <%@ page language="java" %> > <%@ page import="wr.upload.*" %> > <%@ taglib uri="/tags/struts-bean" prefix="bean" %> > <%@ taglib uri="/tags/struts-html" prefix="html" %> > > <html:html locale="true"> > <head> > <title><bean:message key="index.title"/></title> > </head> > <body> > <p> > <% PropertiesSingleton ps = PropertiesSingleton.getInstance(); > out.println( "Debug-Level " + ps.getProperty( "log.level" )); %> > </p> > <h2> > <bean:message key="index.title"/> > </h2> > <h3> > <table border="1"> > <tr><td> > <html:link page="/upload.jsp"><bean:message key="index.upload"/></html:link> > </td></tr> > <tr><td> > <html:link forward="anzeigen"><bean:message key="index.anzeigen"/></html:link> > </td></tr> > <tr><td> > <html:link page="/laden.jsp"><bean:message key="index.laden"/></html:link> > </td></tr> > <tr><td> > <html:link page="/logview.jsp"><bean:message key="index.logfile"/></html:link> > </td></tr> > </table> > </h3> > <p> > <img border="0" align="right" alt="Logo" src="images/struts-power.gif" /> > <bean:message key="general.copyright"/> > </p> > </body> > </html:html> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]