You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Vampire Wang (JIRA)" <ji...@apache.org> on 2007/08/31 09:55:34 UTC
[jira] Created: (WW-2150) Client side validation with theme "xhtml"
and i18n message error
Client side validation with theme "xhtml" and i18n message error
----------------------------------------------------------------
Key: WW-2150
URL: https://issues.apache.org/struts/browse/WW-2150
Project: Struts 2
Issue Type: Bug
Components: Validation
Affects Versions: 2.0.9
Reporter: Vampire Wang
When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
FreeMarker template error!
Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
The problematic instruction:
----------
==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
----------
Java backtrace for programmers:
----------
freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
at freemarker.core.Environment.visit(Environment.java:351)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
at freemarker.core.Environment.visit(Environment.java:351)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.include(Environment.java:1375)
at freemarker.core.Include.accept(Include.java:155)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:196)
at freemarker.core.Environment.process(Environment.java:176)
at freemarker.template.Template.process(Template.java:232)
at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
at org.apache.struts2.components.UIBean.end(UIBean.java:484)
at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
... 63 more
____________________________________
And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (WW-2150) Client side validation with theme "xhtml"
and i18n message error
Posted by "James Holmes (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Holmes updated WW-2150:
-----------------------------
Fix Version/s: (was: 2.0.11)
2.0.12
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: Validation
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.0.12
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (WW-2150) Client side validation with theme
"xhtml" and i18n message error
Posted by "just4subs (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44442#action_44442 ]
just4subs commented on WW-2150:
-------------------------------
I'm facing the same problem testing the sample application "quickstart" that you can download here:
http://struts.apache.org/2.0.11/docs/struts-2-spring-2-jpa-ajax.html
and simply changing the PersonAction-save-validation.xml file to use i18n
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (WW-2150) Client side validation with theme
"xhtml" and i18n message error
Posted by "Musachy Barroso (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Musachy Barroso resolved WW-2150.
---------------------------------
Resolution: Cannot Reproduce
I can't reproduce this, and a test case or more details would help. Feel free to re-open if you have a test case that reproduces the problem.
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (WW-2150) Client side validation with theme "xhtml"
and i18n message error
Posted by "Marcus (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcus updated WW-2150:
-----------------------
Attachment: struts.properties
pom.xml
login.jsp
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
> Attachments: login.jsp, LoginAction-validation.xml, LoginAction.java, package.properties, pom.xml, struts.properties, struts.xml
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (WW-2150) Client side validation with theme
"xhtml" and i18n message error
Posted by "Marcus (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44615#action_44615 ]
Marcus commented on WW-2150:
----------------------------
Hi! I'm getting this same error with the same symptoms using Struts 2.0.11.2. I can easily reproduce it by specifying a message key in my validation.xml file. What details would you like me to provide?
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (WW-2150) Client side validation with theme "xhtml"
and i18n message error
Posted by "Marcus (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcus updated WW-2150:
-----------------------
Attachment: LoginAction-validation.xml
Oops, the other validation file does not produce the problem. This one DOES.
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
> Attachments: login.jsp, LoginAction-validation.xml, LoginAction-validation.xml, LoginAction.java, package.properties, pom.xml, struts.properties, struts.xml
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (WW-2150) Client side validation with theme "xhtml"
and i18n message error
Posted by "Marcus (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcus updated WW-2150:
-----------------------
Attachment: LoginAction.java
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
> Attachments: LoginAction.java
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (WW-2150) Client side validation with theme "xhtml"
and i18n message error
Posted by "James Holmes (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Holmes updated WW-2150:
-----------------------------
Fix Version/s: 2.0.11
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: Validation
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.0.11
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (WW-2150) Client side validation with theme "xhtml"
and i18n message error
Posted by "Marcus (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcus updated WW-2150:
-----------------------
Attachment: struts.xml
package.properties
LoginAction-validation.xml
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
> Attachments: LoginAction-validation.xml, LoginAction.java, package.properties, struts.xml
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (WW-2150) Client side validation with theme
"xhtml" and i18n message error
Posted by "Marcus (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44705#action_44705 ]
Marcus commented on WW-2150:
----------------------------
To clarify, the validation XML that causes the problem is:
<message key="requiredString">Default Message</message>
If I change it to the following, it does NOT cause the problem:
<message>Please enter a User Name</message>
Also, I'm the same Marcus/Mark that posted this question to the User mailing list :-)
Here's the stack trace:
2008-09-10 08:20:15,647 ERROR [freemarker.runtime] - <>
Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@e78d87
The problematic instruction:
----------
==> ${validator.getMessage(action)?js_string} [on line 51, column 26 in template/xhtml/form-close-validate.ftl]
in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 25, column 1 in template/xhtml/form-close.ftl]
----------
Java backtrace for programmers:
----------
freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@e78d87
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:130)
at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)
at freemarker.core.Environment.visit(Environment.java:415)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)
at freemarker.core.Environment.visit(Environment.java:415)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.Environment.include(Environment.java:1477)
at freemarker.core.Include.accept(Include.java:169)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.Environment.process(Environment.java:188)
at freemarker.template.Template.process(Template.java:237)
at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:185)
at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:558)
at org.apache.struts2.components.UIBean.end(UIBean.java:512)
at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:344)
at org.apache.jsp.login_jsp._jspService(login_jsp.java:139)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
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:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:613)
Caused by: java.lang.NullPointerException
at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:236)
at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:195)
at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:46)
at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:835)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:106)
... 58 more
2008-09-10 08:20:15,652 ERROR [org.apache.struts2.components.UIBean] - <error when rendering>
Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@e78d87
The problematic instruction:
----------
==> ${validator.getMessage(action)?js_string} [on line 51, column 26 in template/xhtml/form-close-validate.ftl]
in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 25, column 1 in template/xhtml/form-close.ftl]
----------
Java backtrace for programmers:
----------
freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@e78d87
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:130)
at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)
at freemarker.core.Environment.visit(Environment.java:415)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)
at freemarker.core.Environment.visit(Environment.java:415)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.Environment.include(Environment.java:1477)
at freemarker.core.Include.accept(Include.java:169)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:208)
at freemarker.core.Environment.process(Environment.java:188)
at freemarker.template.Template.process(Template.java:237)
at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:185)
at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:558)
at org.apache.struts2.components.UIBean.end(UIBean.java:512)
at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)
at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:344)
at org.apache.jsp.login_jsp._jspService(login_jsp.java:139)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
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:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:613)
Caused by: java.lang.NullPointerException
at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:236)
at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:195)
at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:46)
at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:835)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:106)
... 58 more
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
> Attachments: login.jsp, LoginAction-validation.xml, LoginAction-validation.xml, LoginAction.java, package.properties, pom.xml, struts.properties, struts.xml
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (WW-2150) Client side validation with theme
"xhtml" and i18n message error
Posted by "Ankur Jain (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44719#action_44719 ]
Ankur Jain commented on WW-2150:
--------------------------------
I am also getting the same error as Marcus is getting.
The solution provided by Marcus does not looks like a proper answer it is just a way to skip from the problem.
Is there any other solution to this problem.
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
> Attachments: login.jsp, LoginAction-validation.xml, LoginAction-validation.xml, LoginAction.java, package.properties, pom.xml, struts.properties, struts.xml
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (WW-2150) Client side validation with theme
"xhtml" and i18n message error
Posted by "Musachy Barroso (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44413#action_44413 ]
Musachy Barroso commented on WW-2150:
-------------------------------------
This looks like localization not working at wall, could you give more details, like a fragment of your jsp, etc?
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (WW-2150) Client side validation with theme
"xhtml" and i18n message error
Posted by "Dave Newton (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44698#action_44698 ]
Dave Newton commented on WW-2150:
---------------------------------
@Marcus: Anything; directory layout, code snippets, etc.
@Marko: It's not "ignorant" to close a bug we can't reproduce when the original submitter doesn't supply any further information to help us. I am running I18N-ized validations using both XML and annotation configuration and can't reproduce the error. What can I _possibly_ do without more information?!
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (WW-2150) Client side validation with theme
"xhtml" and i18n message error
Posted by "Dave Newton (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44720#action_44720 ]
Dave Newton commented on WW-2150:
---------------------------------
It's both a proper and correct answer.
I18N depends on there being a TextProvider on the value stack.
The _hack_ answer is to push a reasonable text provider on the stack in the JSP, but I don't know if that would work or not. The correct answer is to not visit JSP pages directly, which is a best practice anyway.
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
> Attachments: login.jsp, LoginAction-validation.xml, LoginAction-validation.xml, LoginAction.java, package.properties, pom.xml, struts.properties, struts.xml
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (WW-2150) Client side validation with theme
"xhtml" and i18n message error
Posted by "Marko Majkic (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44521#action_44521 ]
Marko Majkic commented on WW-2150:
----------------------------------
I suppose that this task should be reopened. If you're not able to reproduce this issue, it doesn't mean that it does not exist. Pretty ignorant reason to "resolve" this: "Resolution: Cannot Reproduce". I'm willing to provide as much info as possible to help you to solve this issue.
By the way, when I use struts tags to get i18n messages as <s:text name="some.message" /> it works fine. Just validation is problematic. I use annotations as:
@RequiredStringValidator(message="Insert something", key="something.wrong")
public String getSomething() {
return something;
}
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (WW-2150) Client side validation with theme
"xhtml" and i18n message error
Posted by "Marcus (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44706#action_44706 ]
Marcus commented on WW-2150:
----------------------------
The problem was caused by accessing a JSP without going through an action.
Because this is a login page, I had an index.jsp with <jsp:forward page="login.jsp>.
I changed the index.jsp to <% response.sendRedirect(login!input.action); %> to go through the action.
And the NPE went away!
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.3
>
> Attachments: login.jsp, LoginAction-validation.xml, LoginAction-validation.xml, LoginAction.java, package.properties, pom.xml, struts.properties, struts.xml
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (WW-2150) Client side validation with theme
"xhtml" and i18n message error
Posted by "Don Brown (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/struts/browse/WW-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43656#action_43656 ]
Don Brown commented on WW-2150:
-------------------------------
Does localization work every other time? What if you don't use client-side validation?
> Client side validation with theme "xhtml" and i18n message error
> ----------------------------------------------------------------
>
> Key: WW-2150
> URL: https://issues.apache.org/struts/browse/WW-2150
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.9
> Reporter: Vampire Wang
> Fix For: 2.1.2
>
>
> When I use theme "xhtml" and i18n validation message to run client side validation, I got the following message on my page:
> FreeMarker template error!
> Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> The problematic instruction:
> ----------
> ==> ${validator.getMessage(action)?js_string} [on line 28, column 26 in template/xhtml/form-close-validate.ftl]
> in include "/${parameters.templateDir}/xhtml/form-close-validate.ftl" [on line 3, column 1 in template/xhtml/form-close.ftl]
> ----------
> Java backtrace for programmers:
> ----------
> freemarker.template.TemplateModelException: Method public java.lang.String com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(java.lang.Object) threw an exception when invoked on com.opensymphony.xwork2.validator.validators.RequiredStringValidator@122d9c
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:136)
> at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.StringBuiltins$StringBuiltIn._getAsTemplateModel(StringBuiltins.java:71)
> at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
> at freemarker.core.Expression.getStringValue(Expression.java:93)
> at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:160)
> at freemarker.core.Environment.visit(Environment.java:351)
> at freemarker.core.IteratorBlock.accept(IteratorBlock.java:95)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.include(Environment.java:1375)
> at freemarker.core.Include.accept(Include.java:155)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.MixedContent.accept(MixedContent.java:92)
> at freemarker.core.Environment.visit(Environment.java:196)
> at freemarker.core.Environment.process(Environment.java:176)
> at freemarker.template.Template.process(Template.java:232)
> at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:148)
> at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:530)
> at org.apache.struts2.components.UIBean.end(UIBean.java:484)
> at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:43)
> at org.apache.jsp.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:161)
> at org.apache.jsp.login_jsp._jspService(login_jsp.java:79)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at com.vam.book.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:34)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
> at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext$LoggingValidationAware.<init>(DelegatingValidatorContext.java:234)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.makeValidationAware(DelegatingValidatorContext.java:193)
> at com.opensymphony.xwork2.validator.DelegatingValidatorContext.<init>(DelegatingValidatorContext.java:53)
> at com.opensymphony.xwork2.validator.validators.ValidatorSupport.getMessage(ValidatorSupport.java:64)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:616)
> at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:113)
> ... 63 more
> ____________________________________
> And if I remove the "key" attribute from my <message> element, everything went right, it seems that the freemarker couldn't get the text from the *. proterties i18n files.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.