I am looking to set-up validation, but I am getting errors.  I added the 
following to my struts.xml:

    <package name="conap" extends="struts-default">
        <interceptors>
            <interceptor name="cookie" 
class="org.apache.struts2.interceptor.CookieInterceptor"/>
            <interceptor-stack name="validationStack">
                <interceptor-ref name="defaultStack"/>
                <interceptor-ref name="validation"/>
            </interceptor-stack>
        </interceptors>
        <default-interceptor-ref name="defaultStack"/>
    </package>

The class that I want to validate is defined as follows:
@ParentPackage("conap")
public class SubmitAction extends ActionSupport implements 
ModelDriven<Application> {
...
    @VisitorFieldValidator
    public Application getModel() {
        return application;
    }
...
    @Action(
        results = {
            @Result(name = "success", location = 
"/WEB-INF/content/soldier/login-success.jsp"),
            @Result(name = "error", location = 
"/WEB-INF/content/soldier/login-error.jsp")},
        interceptorRefs = {...@interceptorref("validationStack")}
    )
    public String execute() throws Exception {
    ...
    }
}

The class that I want to validate is defined as follows:
public class Application {
...
    @RequiredFieldValidator(type = ValidatorType.FIELD, message = "Major is 
required")
    public void setMajorCd(String majorCd) {
        this.majorCd = majorCd;
    }
...
    @RequiredFieldValidator(type = ValidatorType.FIELD, message = "Expected 
Entry Date is required")
    public void setExpectedEntryDate(String expectedEntryDate) {
        this.expectedEntryDate = expectedEntryDate;
    }
}



When I submit to the action, I get an exception:
Struts Problem Report
Struts Problem Report
Struts has detected an unhandled exception: 
Messages:  
File: com/opensymphony/xwork2/util/TextParseUtil.java 
Line number: 155 

________________________________
 
Stacktraces
java.lang.NullPointerException 
    
com.opensymphony.xwork2.util.TextParseUtil.translateVariables(TextParseUtil.java:155)
    
com.opensymphony.xwork2.util.TextParseUtil.translateVariables(TextParseUtil.java:116)
    
com.opensymphony.xwork2.util.TextParseUtil.translateVariables(TextParseUtil.java:38)
    
com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:99)
    
com.opensymphony.xwork2.validator.validators.VisitorFieldValidator.validateObject(VisitorFieldValidator.java:156)
    
com.opensymphony.xwork2.validator.validators.VisitorFieldValidator.validate(VisitorFieldValidator.java:130)
    
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:183)
    
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:94)
    
com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:89)
    
com.opensymphony.xwork2.validator.ValidationInterceptor.doBeforeInvocation(ValidationInterceptor.java:208)
    
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:247)
    
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
    
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
    
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
    
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
    
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
    
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
    org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
    
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
    
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
    
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
    mil.army.usaac.conap.LogBackFilter.doFilter(LogBackFilter.java:43)
    
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
    
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
    
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
    
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
    
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
    
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
    
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
    com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
    
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
    
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
    
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
    
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
    
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
    
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
    org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
    org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
    org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
    
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
    
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
    
com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
    
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
    
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
    
com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
    
com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
    com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
    
com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    

________________________________
 
You are seeing this page because development mode is enabled. Development 
mode, or devMode, enables extra debugging behaviors and reports to assist 
developers. To disable this mode, set: 
  struts.devMode=false
in your WEB-INF/classes/struts.properties file. 



Norris Shelton
Software Engineer
Sun Certified Java 1.1 Programmer
Shelton Consulting, LLC
ICQ# 26487421
AIM NorrisEShelton
YIM norrisshelton



      

Reply via email to