You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "Karr, David" <da...@attws.com> on 2002/08/15 18:29:54 UTC

RE: Simple Struts "Hello World" application gets NPE in ProxyDirC onte xt.cacheLoad() when adding Validator

> -----Original Message-----
> From: Karr, David [mailto:david.karr@attws.com]
> Sent: Thursday, August 15, 2002 8:46 AM
> To: 'Struts Users Mailing List'
> Subject: RE: Simple Struts "Hello World" application gets NPE in
> ProxyDirC onte xt.cacheLoad() when adding Validator
> 
> 
> > -----Original Message-----
> > From: James Mitchell [mailto:jmitchtx@telocity.com]
> > Sent: Wednesday, August 14, 2002 7:43 PM
> > To: Struts Users Mailing List
> > Subject: RE: Simple Struts "Hello World" application gets NPE in
> > ProxyDirConte xt.cacheLoad() when adding Validator
> > 
> > The first thing I notice is that you have a global forward 
> > named "main" and
> > an action mapping named "main".
> > 
> > Did you mean to do this.  I'm not sure it would make a big 
> > difference given
> > order of precedence in finding actions/forwards, but you 
> > might consider
> > changing one to something like 'main-menu'.
> 
> Perhaps I wasn't clear, but this application was working fine 
> in Tomcat and
> JDeveloper until I added validation.  I'll change the action names,
> nonetheless.  They are slightly misnamed.

Now I'm really confused.  I changed the action names slightly, but now it
seems as if the app is failing to find the ValidatorForm class (NCDFE),
which is clearly in the "struts.jar" in WEB-INF/lib.  Is there some
classloader problem here?  I don't think I was getting this error before.

Here is a portion of the server console output:
-----------------------
Aug 15, 2002 9:17:10 AM org.apache.struts.util.RequestUtils createActionForm
SEVERE: Error creating form bean of class mainForm
java.lang.NoClassDefFoundError: org.apache.struts.validator.ValidatorForm
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:1576)
        at java.lang.Class.getConstructor0(Class.java:1748)
        at java.lang.Class.newInstance0(Class.java:266)
        at java.lang.Class.newInstance(Class.java:249)
        at
org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:21
9)
        at
org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.java:625)
        at
org.apache.struts.action.RequestProcessor.processActionForm(RequestProcessor
.java:351)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:245)
-----------------------

Is there some problem with using more than one PlugIn, or both Tiles and
Validator?  I'm having no problem with the sample "struts-validator"
application.

I'll include inline my "struts-config.xml".
--------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.1/EN"
          "struts-config_1_1.dtd">
<struts-config>
 <form-beans>
  <form-bean name="mainForm"
             type="com.attws.bsa.scoop.felix.web.forms.MainActionForm"/>
 </form-beans>
 <global-forwards>
  <forward name="main" path="setupMain.do" redirect="false"/>
 </global-forwards>
 <action-mappings>
  <action path="/setupMain"
          type="com.attws.bsa.scoop.felix.web.actions.MainAction"
          name="mainForm" scope="session" validate="false">
   <forward name="success" path="main.layout"/>
  </action>
  <action path="/submitMain"
          type="com.attws.bsa.scoop.felix.web.actions.SubmitMainAction"
          name="mainForm" scope="session" validate="true"
input="main.layout">
   <forward name="success" path="main.layout"/>
  </action> 
 </action-mappings>
 <controller debug="99"/>
 <message-resources parameter="felix"
key="org.apache.struts.action.MESSAGE"/>
 <plug-in className="org.apache.struts.tiles.TilesPlugin">
  <set-property property="definitions-config" 
                value="/WEB-INF/tiles-defs.xml" />
  <set-property property="definitions-debug" value="0" />
  <set-property property="definitions-parser-details" value="0" />
  <set-property property="definitions-parser-validate" value="true" />
 </plug-in>
 <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
  <set-property property="pathnames"
 
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
 </plug-in>
</struts-config>
--------------------

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>