2017-10-26 94 views
0

最近、Strutsを2.2.1から2.3.34にアップグレードしました。ただし、アップグレード後、検証フレームワークは機能しません。次の例外を取得します。strutsのアップグレード後に検証フレームワークが動作しない

07:04:58,974 ERROR [CommonsLogger.error] - - - Caught exception while loading file com/project/actions/RegistrationAction-register-validation.xml 
java.lang.NullPointerException 
at com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.loadFile(AnnotationActionValidatorManager.java:397) 
at com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.buildAliasValidatorConfigs(AnnotationActionValidatorManager.java:274) 
at com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.buildValidatorConfigs(AnnotationActionValidatorManager.java:377) 
at com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.getValidators(AnnotationActionValidatorManager.java:101) 
at com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:140) 
at com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:132) 
at com.opensymphony.xwork2.validator.AnnotationActionValidatorManager.validate(AnnotationActionValidatorManager.java:127) 
at com.opensymphony.xwork2.validator.ValidationInterceptor.doBeforeInvocation(ValidationInterceptor.java:222) 
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) 
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76) 
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) 
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) 
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:125) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:253) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) 
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at com.umonitor.fundstransfer6.interceptors.FtPostOnlyInterceptor.intercept(FtPostOnlyInterceptor.java:32) 
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) 
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) 
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:575) 
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81) 
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) 
at com.umonitor.fundstransfer6.filter.DPXPayFilter.doFilter(DPXPayFilter.java:67) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at com.umonitor.server.headers.CustomHeaderModifier.doFilter(CustomHeaderModifier.java:45) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620) 
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
at java.lang.Thread.run(Thread.java:745) 

はまた、Tomcatサーバーを再起動中に

07:36:37,404 WARN [CommonsLogger.warn] - - - Unable to load config class org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor at interceptor - jar:file:/home/tomcat/lib/struts2-core-2.3.34.jar!/struts-default.xml:217:127 probably due to a missing jar, which might be fine if you never plan to use the validation interceptor 
07:36:37,404 ERROR [CommonsLogger.error] - - - Actual exception 
Caught Exception while registering Interceptor class org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor - interceptor - jar:file:/home/tomcat/lib/struts2-core-2.3.34.jar!/struts-default.xml:217:127 
    at com.opensymphony.xwork2.factory.DefaultInterceptorFactory.buildInterceptor(DefaultInterceptorFactory.java:64) 
    at com.opensymphony.xwork2.ObjectFactory.buildInterceptor(ObjectFactory.java:209) 
    at com.opensymphony.xwork2.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java:70) 
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.lookupInterceptorReference(XmlConfigurationProvider.java:1114) 
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStack(XmlConfigurationProvider.java:932) 
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStacks(XmlConfigurationProvider.java:945) 
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptors(XmlConfigurationProvider.java:968) 
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:537) 
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:295) 
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112) 
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:264) 
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67) 
    at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:978) 
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446) 
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490) 
    at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74) 
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57) 
    at com.umonitor.fundstransfer6.filter.DPXPayFilter.init(DPXPayFilter.java:40) 
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:298) 
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:119) 
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4076) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4730) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:802) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) 
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504) 
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1385) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:306) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1392) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1656) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1665) 
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1645) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 
    at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:301) 
    at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:492) 
    at com.opensymphony.xwork2.inject.ContainerImpl$6.call(ContainerImpl.java:530) 
    at com.opensymphony.xwork2.inject.ContainerImpl$6.call(ContainerImpl.java:528) 
    at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:584) 
    at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:528) 
    at com.opensymphony.xwork2.ObjectFactory.injectInternalBeans(ObjectFactory.java:166) 
    at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:191) 
    at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:178) 
    at com.opensymphony.xwork2.factory.DefaultInterceptorFactory.buildInterceptor(DefaultInterceptorFactory.java:42) 
    ... 35 more 
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 
    at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:132) 
    at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51) 
    at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:469) 
    at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:484) 
    at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:34) 
    at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:299) 
    ... 44 more 
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 
    at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:502) 
    at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:539) 
    at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:593) 
    at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:537) 
    at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32) 
    at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:130) 
    ... 49 more 
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 
    at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:301) 
    at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:438) 
    at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:499) 
    ... 54 more 
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 
    at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:132) 
    at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51) 
    at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:469) 
    at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:484) 
    at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:34) 
    at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:299) 
    ... 56 more 
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 
    at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:502) 
    at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:539) 
    at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:593) 
    at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:537) 
    at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32) 
    at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:130) 
    ... 61 more 
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 
    at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:447) 
    at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:499) 
    ... 66 more 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:426) 
    ... 67 more 
Caused by: Connection timed out - [unknown location] 
    at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:119) 
    at com.opensymphony.xwork2.validator.DefaultValidatorFileParser.parseValidatorDefinitions(DefaultValidatorFileParser.java:119) 
    at com.opensymphony.xwork2.validator.DefaultValidatorFactory.retrieveValidatorConfiguration(DefaultValidatorFactory.java:201) 
    at com.opensymphony.xwork2.validator.DefaultValidatorFactory.parseValidators(DefaultValidatorFactory.java:190) 
    at com.opensymphony.xwork2.validator.DefaultValidatorFactory.<init>(DefaultValidatorFactory.java:61) 
    ... 72 more 
Caused by: java.net.ConnectException: Connection timed out 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:579) 
    at java.net.Socket.connect(Socket.java:528) 
    at sun.net.NetworkClient.doConnect(NetworkClient.java:180) 
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) 
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) 
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:211) 
    at sun.net.www.http.HttpClient.New(HttpClient.java:308) 
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1004) 
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:952) 
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:851) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1301) 
    at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) 
    at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source) 
    at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source) 
    at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) 
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:392) 
    at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:117) 
    ... 76 more 

例外が発生し、次の例外を取得。検証フレームワークは古いバージョンで正常に動作していました。この問題を解決するためにお手伝いください。

+0

フルスタックで更新してくださいトレース特別 '私は完全なスタックトレースで質問を更新しました –

+0

原因-by's。 –

+0

システム変更に必要なTomcatサーバーの再起動。 –

答えて

0

このPUBLIC IDを試してみてください。

<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" 
     "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> 
+0

が試しました。 –

+0

@DivyaRose、あなたのスタックトレースがインターネットに接続しようとしていることを示しています。つまり、xar-validator dtdがjarファイルで見つからないことを意味します。つまり、1つ以上の検証XMLファイルの 'PUBLIC ID'が間違っています。 –

+0

は私のdtdsを '<!DOCTYPE validators PUBLIC"に変更しました - // Apache Struts // XWork Validator 1.0.3 // EN " " http://struts.apache.org/dtds/xwork-validator-1.0.3。 dtd ">'を実行し、2番目の例外を取り除きました。しかし、最初のものはまだ存在し、検証フレームワークはまだ機能していません。ファイルがロードされている間にnullポインタ例外が表示されています –

0

は解決策を見つけました!

classname-method-validation.xmlファイルとvalidators.xmlファイルを使用しています。使用している間、また

<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator Definition 1.0//EN" 
"http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd"> 

<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" 
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> 

とvalidators.xmlで

は、以下のドキュメント・タイプを使用する:

クラス名法-validation.xmlで

、以下のようにドキュメント・タイプを与えます正規表現の正規表現では、パラメータ名としてexpressionを使用していました。それはregexExpressionに変更する必要があります。

例:

<field-validator type="regex" short-circuit="true"> 
    <param name="regexExpression"><![CDATA[^(?!0{9})(\d{9})$]]> 
    </param> 
    <message>${getText("ft.accounts.alert.validRoutingNumber")}</message></field-validator> 
関連する問題