The answer is in the error message ....
> The content of element type "struts-config" must match
> "(display-name?,description?,data-sources?,form-beans?,
> global-exceptions?,global-forwards?,action-mappings?,controller?,
> message-resources*,plug-in*)".
The order of the struts-config elements is important so put the
controller entry after action-mappings and before message-resources e.g.
<action-mappings>
....
</action-mappings>
<controller processorClass="app.MyRequestProcessor""/>
<message-resources parameter="...." null="...."/>
Oh, and remove the trailing ";" from the controller element.
-----Original Message-----
From: Brij Naald [mailto:[EMAIL PROTECTED]
Sent: 30 November 2004 12:55
To: [EMAIL PROTECTED]
Subject: Subclassing RequestProcessor
Hi,
I'm trying to work with a subclass of requestprocessor. Therefore I add
<controller processorClass="app.MyRequestProcessor""/> in the
struts-config.xml.
How simple this looks, it doesn't work.
When I add this line to the struts-blank config-file, the end of the
file
looks like this:
........
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
</plug-in>
<controller processorClass="app.MyRequestProcessor""/>;
</struts-config>
But when I start tomcat, it gives an exception (see ERROR 1). Note that
line
203 column 17 isn't the controller-tag, but the </struts-config> tag.
When I try to put it in another application I also get ERROR2.
What am i doing wrong?
thanks!
**********
* ERROR 1 *
**********
SEVERE: Parse Error at line 203 column 17: The content of element type
"struts-config" must match "(display-name?,descri
ption?,data-sources?,form-beans?,global-exceptions?,global-forwards?,act
ion-mappings?,controller?,message-resources*,plu
g-in*)".
org.xml.sax.SAXParseException: The content of element type
"struts-config"
must match "(display-name?,description?,data-
sources?,form-beans?,global-exceptions?,global-forwards?,action-mappings
?,controller?,message-resources*,plug-in*)".
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXPar
seException(ErrorHandlerWrapper.java:
236)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorH
andlerWrapper.java:172)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XML
ErrorReporter.java:382)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XML
ErrorReporter.java:316)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndEle
ment(XMLDTDValidator.java:2048)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(X
MLDTDValidator.java:932)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEnd
Element(XMLNSDocumentScannerImpl.java
:713)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$F
ragmentContentDispatcher.dispatch(XML
DocumentFragmentScannerImpl.java:1685)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.s
canDocument(XMLDocumentFragmentScanne
rImpl.java:368)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML1
1Configuration.java:834)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML1
1Configuration.java:764)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.jav
a:148)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Abstr
actSAXParser.java:1242)
at
org.apache.commons.digester.Digester.parse(Digester.java:1548)
at
org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServl
et.java:708)
at
org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.ja
va:670)
at
org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.jav
a:1053)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:886)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.j
ava:3817)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4079
)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja
va:755)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:777)
at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:672)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)
at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1079)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:31
0)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
pport.java:119)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1011)
at
org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1003)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:437)
at
org.apache.catalina.core.StandardService.start(StandardService.java:450)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:2010)
at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
**********
* ERROR 2 *
**********
SEVERE: Parse Error at line 83 column 33: Element type "controller" must
be
declared.
org.xml.sax.SAXParseException: Element type "controller" must be
declared.
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXPar
seException(ErrorHandlerWrapper.java:236)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorH
andlerWrapper.java:172)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XML
ErrorReporter.java:382)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XML
ErrorReporter.java:316)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartE
lement(XMLDTDValidator.java:1960)
at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement
(XMLDTDValidator.java:816)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanSta
rtElement(XMLNSDocumentScannerImpl.java:316)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$F
ragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:16
93)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.s
canDocument(XMLDocumentFragmentScannerImpl.java:368)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML1
1Configuration.java:834)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML1
1Configuration.java:764)
at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.jav
a:148)
at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Abstr
actSAXParser.java:1242)
at
org.apache.commons.digester.Digester.parse(Digester.java:1548)
at
org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServl
et.java:708)
at
org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.ja
va:670)
at
org.apache.struts.action.ActionServlet.init(ActionServlet.java:329)
at ctcEngine.MyActionServlet.init(MyActionServlet.java:40)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.jav
a:1053)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:886)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.j
ava:3817)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4079
)
_________________________________________________________________
Volg Expeditie Robinson op de voet! http://www.expeditierobinson.vt4.be/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------
If you are not an intended recipient of this e-mail, please notify the sender,
delete it and do not read, act upon, print, disclose, copy, retain or
redistribute it. Click here for important additional terms relating to this
e-mail. http://www.ml.com/email_terms/
--------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]