You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Alena Kavalenka (JIRA)" <ji...@apache.org> on 2007/08/23 11:04:34 UTC

[jira] Created: (WW-2130) I have java.lang.ExceptionInInitializerError when trying to use xml validation.

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:
<%@taglib 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.


[jira] Closed: (WW-2130) I have java.lang.ExceptionInInitializerError when trying to use xml validation.

Posted by "James Holmes (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Holmes closed WW-2130.
----------------------------

    Resolution: Not A Problem

Questions like this should be asked on the Struts users mailing list, not as a JIRA issue. You can find more information about the Struts mailing lists at:

http://struts.apache.org/mail.html

> 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:
> <%@taglib 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.