I have java.lang.ExceptionInInitializerError when trying to use xml validation.
-------------------------------------------------------------------------------

                 Key: WW-2130
                 URL: https://issues.apache.org/struts/browse/WW-2130
             Project: Struts 2
          Issue Type: Bug
          Components: Validation
    Affects Versions: 2.0.8
         Environment: Sun Java(TM) System Web Server 6.1 2005Q4 SP6, 
j2sdk1.4.2_13, Struts 2.0.8, Struts 2.0.8 j4, Windows XP
            Reporter: Alena Kavalenka


Hello!
I have a problem with validation when I try to validate via xml. Can you, 
please, help me?

1. I have SimpleValidatorAction-submitSVA-validation.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE validators PUBLIC
                "-//OpenSymphony Group//XWork Validator 1.0//EN" 
                "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd";>
                
<!-- START SNIPPET: fieldValidatorsExample -->                  
                
<validators>
        <field name="requiredStringValidatorField">
                <field-validator type="requiredstring">
                        <param name="trim">true</param>
            <message><![CDATA[ required and must be string ]]></message>
                </field-validator>
        </field>
        <field name="integerValidatorField">
                <field-validator type="int">
                        <param name="min">1</param>
                        <param name="max">10</param>
                        <message><![CDATA[ must be integer min 1 max 10 if 
supplied ]]></message>
                </field-validator>
        </field>
</validators>

<!-- END SNIPPET: fieldValidatorsExample -->

==========================================

2. Java class: 

package tutorial;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ObjectFactory;

import java.sql.Date;

public class SimpleValidatorAction extends ActionSupport  {

    private String requiredStringValidatorField = null;
    private Integer integerValidatorField = null;

    public String input() throws Exception {
        return "input";
    }

    public String submit() throws Exception {
        return "success";
    }
    public Integer getIntegerValidatorField() {
        return integerValidatorField;
    }
    public void setIntegerValidatorField(Integer integerValidatorField) {
        this.integerValidatorField = integerValidatorField;
    }
    public String getRequiredStringValidatorField() {
        return requiredStringValidatorField;
    }
    public void setRequiredStringValidatorField(String 
requiredStringValidatorField) {
        this.requiredStringValidatorField = requiredStringValidatorField;
    }

}

3. in struts.xml:

        <action name="showSVA" class="tutorial.SimpleValidatorAction" 
method="input" >
            <result name="input" type="dispatcher">/simpleValidator.jsp</result>
        </action>


        <action name="submitSVA" class="tutorial.SimpleValidatorAction" 
method="submit">
            <result name="input" type="dispatcher">/simpleValidator.jsp</result>
            <result type="dispatcher" >/successSimpleValidator.jsp</result>
        </action>
 
4. simpleValidator.jsp:
<[EMAIL PROTECTED] prefix="s" uri="/struts-tags" %>

<html>
    <head>
        <title>Albridge - Validation </title>
        <s:head theme="xhtml"/>
    </head>
    <body>

    <!-- START SNIPPET: fieldValidatorsExample -->

        <h3>All Field Errors Will Appear Here</h3>
        <s:fielderror />
        <hr/>

        <h3>Field Error due to 'Required String Validator Field' Will Appear 
Here</h3>
        <s:fielderror>
            <s:param value="%{'requiredStringValidatorField'}" />
        </s:fielderror>
        <hr/>

        <h3>Field Error due to 'String Length Validator Field' Will Appear 
Here</h3>
        <s:fielderror>
            <s:param>stringLengthValidatorField</s:param>
        </s:fielderror>
        <hr/>

        <s:form action="submitSVA" method="POST" theme="xhtml" >
            <s:textfield label="Required String Validator Field" 
name="requiredStringValidatorField"  required="true"/>
            <s:textfield label="Integer Validator Field" 
name="integerValidatorField" />
            <s:submit label="Submit" />
        </s:form>

    <!-- END SNIPPET: fieldValidatorsExample -->
    </body>
</html>

5. After clicking submit button I have the next error:

failure ( 3708): for host 127.0.0.1 trying to POST /albcom/submitSVA.action, 
service-j2ee reports: StandardWrapperValve[default]: WEB2792: Servlet.service() 
for servlet default threw exception
javax.servlet.ServletException: WEB2663: Filter execution threw an exception
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:280)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:509)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:509)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:209)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:509)
        at 
com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:157)
        at com.iplanet.ias.web.WebContainer.service(WebContainer.java:579)
----- Root Cause -----
java.lang.ExceptionInInitializerError
        at 
com.opensymphony.xwork2.validator.ValidatorFileParser.addValidatorConfigs(ValidatorFileParser.java:192)
        at 
com.opensymphony.xwork2.validator.ValidatorFileParser.parseActionValidatorConfigs(ValidatorFileParser.java:72)
        at 
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.loadFile(AnnotationActionValidatorManager.java:361)
        at 
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.buildAliasValidatorConfigs(AnnotationActionValidatorManager.java:244)
        at 
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.buildValidatorConfigs(AnnotationActionValidatorManager.java:343)
        at 
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.getValidators(AnnotationActionValidatorManager.java:69)
        at 
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:138)
        at 
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:113)
        at 
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:100)
        at 
com.opensymphony.xwork2.validator.ValidationInterceptor.doBeforeInvocation(ValidationInterceptor.java:142)
        at 
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:148)
        at 
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48)
        at 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
        at 
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
        at 
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
        at 
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
        at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
        at 
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
        at 
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
        at 
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
        at 
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
        at 
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
        at 
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:167)
        at 
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
        at 
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
        at 
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvoc

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to