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.