You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "Frost, Gary [IT]" <Ga...@ssmb.com.au> on 2002/12/02 08:54:06 UTC
Validator in struts 1.1
Hi, I'm trying to get the validator to work, and I must be doing something
wrong, coz when I look at the debug output of the webapp I see the following
message
2002-12-02 18:31:05,744 INFO [main]
org.apache.struts.validator.ValidatorPlugIn[] - Loading validation rules
file from '/WEB-INF/config/validator-rules.xml'
2002-12-02 18:31:05,772 DEBUG [main]
org.apache.commons.digester.Digester.sax[] -
setDocumentLocator(org.apache.crimson.parser.Parser2$DocLocator@354749)
2002-12-02 18:31:05,773 DEBUG [main]
org.apache.commons.digester.Digester.sax[] - startDocument()
2002-12-02 18:31:05,789 DEBUG [main]
org.apache.commons.digester.Digester.sax[] - resolveEntity('-//Apache
Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN',
'http://jakarta.apache.org/commons/dtds/validator_1_0.dtd')
2002-12-02 18:31:06,149 ERROR [main] org.apache.commons.digester.Digester[]
- Parse Fatal Error at line 4 column -1: External entity not found:
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd".
java.net.UnknownHostException: jakarta.apache.org
at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3035)
at
org.apache.crimson.parser.Parser2.externalParameterEntity(Parser2.java:2723)
at
org.apache.crimson.parser.Parser2.maybeDoctypeDecl(Parser2.java:1154)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:488)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at org.apache.commons.digester.Digester.parse(Digester.java:1561)
at
org.apache.commons.validator.ValidatorResourcesInitializer.initialize(Valida
torResourcesInitializer.java:256)
at
org.apache.struts.validator.ValidatorPlugIn.initResources(ValidatorPlugIn.ja
va:224)
at
org.apache.struts.validator.ValidatorPlugIn.init(ValidatorPlugIn.java:167)
<snip>
I.e. from what I see here its trying to go externally to resolve the dtd...
I was using 1.1Beta2, and though maybe that it was a bug that has been
corrected, so I grabbed the latest nightly build (20021201), I copied all
the jar files into my WEB_INF/lib directory, and they certainly seem to be
loading ok, I checked and confirmed that the validator_1_0.dtd is in the
commons-validator.jar (it does).
I looked in the Catalina.out from Tomcat 4, and saw quite a few
ContextConfig[/webatlas]: Scanning library JAR files
ContextConfig[/webatlas]:
tldConfigJar(/WEB-INF/lib/standard.jar): Processing entry
'META-INF/sql-rt.tld'
XmlMapper: Set locator :
org.apache.xerces.readers.DefaultEntityHandler@4cc588
Resolve: -//Sun Microsystems, Inc.//DTD JSP Tag Library
1.2//EN http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd
Using alternate DTD
/javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd
Notation: WEB-JSPTAGLIB.1_2 -//Sun Microsystems, Inc.//DTD
JSP Tag Library 1.2//EN null
ContextConfig[/webatlas]:
tldConfigJar(/WEB-INF/lib/standard.jar): Processing entry 'META-INF/c.tld'
And the same for struts.jar (i.e.
ContextConfig[/webatlas]:
tldConfigJar(/WEB-INF/lib/struts.jar): Processing entry
'META-INF/tlds/struts-nested.tld'
XmlMapper: Set locator :
org.apache.xerces.readers.DefaultEntityHandler@3adc56
Resolve: -//Sun Microsystems, Inc.//DTD JSP Tag Library
1.1//EN http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd
Using alternate DTD
/javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd)
But nothing for validator.jar in that section (even though near the top of
the output was a line
WebappLoader[/webatlas]: Deploy JAR
/WEB-INF/lib/commons-validator.jar to
/home/gf06866/projects/webATLAS/dist/war/WEB-INF/lib/commons-validator.jar
So it seems that it is picking up the jar ok...!!
I confirmed that my struts.xml was loading the validator in the plugin
correctly, it reads
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/config/validator-rules.xml,
/WEB-INF/config/logon/validator.xml"/>
</plug-in>
And the two validator files are reference the correct DOC_TYPE, they (both)
read
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules
Configuration 1.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
The net result is that obviously the validator isn't configuring properly,
and so when I go to my login page (which I have set up a very simple
'required' test for the user name, I get the error message
[Exception in:/WEB-INF/jsps/tiles/logon/logon.jsp] null
java.lang.NullPointerException
at
org.apache.struts.taglib.html.JavascriptValidatorTag.doStartTag(JavascriptVa
lidatorTag.java:309)
at org.apache.jsp.logon$jsp._jspService(logon$jsp.java:573)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:201)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
<snip>
Any clues on what's going on?
Thanks
Gary
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
RE: Validator in struts 1.1
Posted by Jorge Martins <Jo...@inesc-id.pt>.
This happened to me too...
Defining a proxy within the Tomcat JVM using the CATALINA_OPTS
environment variable solved my problem...
CATALINA_OPTS=-DproxySet=true -DproxyHost=<proxy-name>
-DproxyPort=<proxy-port>
jorge
-----Original Message-----
From: Frost, Gary [IT] [mailto:Gary.Frost@ssmb.com.au]
Sent: segunda-feira, 2 de Dezembro de 2002 7:54
To: struts-user@jakarta.apache.org
Subject: Validator in struts 1.1
Hi, I'm trying to get the validator to work, and I must be doing
something wrong, coz when I look at the debug output of the webapp I see
the following message
2002-12-02 18:31:05,744 INFO [main]
org.apache.struts.validator.ValidatorPlugIn[] - Loading validation rules
file from '/WEB-INF/config/validator-rules.xml'
2002-12-02 18:31:05,772 DEBUG [main]
org.apache.commons.digester.Digester.sax[] -
setDocumentLocator(org.apache.crimson.parser.Parser2$DocLocator@354749)
2002-12-02 18:31:05,773 DEBUG [main]
org.apache.commons.digester.Digester.sax[] - startDocument() 2002-12-02
18:31:05,789 DEBUG [main] org.apache.commons.digester.Digester.sax[] -
resolveEntity('-//Apache Software Foundation//DTD Commons Validator
Rules Configuration 1.0//EN',
'http://jakarta.apache.org/commons/dtds/validator_1_0.dtd')
2002-12-02 18:31:06,149 ERROR [main]
org.apache.commons.digester.Digester[]
- Parse Fatal Error at line 4 column -1: External entity not found:
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd".
java.net.UnknownHostException: jakarta.apache.org
at org.apache.crimson.parser.Parser2.fatal(Parser2.java:3035)
at
org.apache.crimson.parser.Parser2.externalParameterEntity(Parser2.java:2
723)
at
org.apache.crimson.parser.Parser2.maybeDoctypeDecl(Parser2.java:1154)
at
org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:488)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
at
org.apache.commons.digester.Digester.parse(Digester.java:1561)
at
org.apache.commons.validator.ValidatorResourcesInitializer.initialize(Va
lida
torResourcesInitializer.java:256)
at
org.apache.struts.validator.ValidatorPlugIn.initResources(ValidatorPlugI
n.ja
va:224)
at
org.apache.struts.validator.ValidatorPlugIn.init(ValidatorPlugIn.java:16
7)
<snip>
I.e. from what I see here its trying to go externally to resolve the
dtd...
I was using 1.1Beta2, and though maybe that it was a bug that has been
corrected, so I grabbed the latest nightly build (20021201), I copied
all the jar files into my WEB_INF/lib directory, and they certainly seem
to be loading ok, I checked and confirmed that the validator_1_0.dtd is
in the commons-validator.jar (it does).
I looked in the Catalina.out from Tomcat 4, and saw quite a few
ContextConfig[/webatlas]: Scanning library JAR files
ContextConfig[/webatlas]:
tldConfigJar(/WEB-INF/lib/standard.jar): Processing entry
'META-INF/sql-rt.tld'
XmlMapper: Set locator :
org.apache.xerces.readers.DefaultEntityHandler@4cc588
Resolve: -//Sun Microsystems, Inc.//DTD JSP Tag Library
1.2//EN http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd
Using alternate DTD
/javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd
Notation: WEB-JSPTAGLIB.1_2 -//Sun Microsystems,
Inc.//DTD JSP Tag Library 1.2//EN null
ContextConfig[/webatlas]:
tldConfigJar(/WEB-INF/lib/standard.jar): Processing entry
'META-INF/c.tld'
And the same for struts.jar (i.e.
ContextConfig[/webatlas]:
tldConfigJar(/WEB-INF/lib/struts.jar): Processing entry
'META-INF/tlds/struts-nested.tld'
XmlMapper: Set locator :
org.apache.xerces.readers.DefaultEntityHandler@3adc56
Resolve: -//Sun Microsystems, Inc.//DTD JSP Tag Library
1.1//EN http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd
Using alternate DTD
/javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd)
But nothing for validator.jar in that section (even though near the top
of the output was a line
WebappLoader[/webatlas]: Deploy JAR
/WEB-INF/lib/commons-validator.jar to
/home/gf06866/projects/webATLAS/dist/war/WEB-INF/lib/commons-validator.j
ar
So it seems that it is picking up the jar ok...!!
I confirmed that my struts.xml was loading the validator in the plugin
correctly, it reads
<plug-in
className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/config/validator-rules.xml,
/WEB-INF/config/logon/validator.xml"/>
</plug-in>
And the two validator files are reference the correct DOC_TYPE, they
(both) read
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules
Configuration 1.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
The net result is that obviously the validator isn't configuring
properly, and so when I go to my login page (which I have set up a very
simple 'required' test for the user name, I get the error message
[Exception in:/WEB-INF/jsps/tiles/logon/logon.jsp] null
java.lang.NullPointerException
at
org.apache.struts.taglib.html.JavascriptValidatorTag.doStartTag(Javascri
ptVa
lidatorTag.java:309)
at org.apache.jsp.logon$jsp._jspService(logon$jsp.java:573)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServle
t.ja
va:201)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
<snip>
Any clues on what's going on?
Thanks
Gary
--
To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
For additional commands, e-mail:
<ma...@jakarta.apache.org>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>