
|
If you were logged in you would be able to see more operations.
|
|
|
WebWork
Created: 20/Jun/06 02:10 PM
Updated: 14/Aug/06 10:03 AM
|
|
| Component/s: |
Views
|
| Affects Version/s: |
2.2.2
|
| Fix Version/s: |
2.2.3
|
|
|
Environment:
|
WebWork 2.2.2, bundled Freemarker+XWork
|
|
|
When using an action with boolean field name "notify" and corresponding getters/setters, this fails:
<@ww.checkbox name="notify" />
If the name refers to a non-existant field, no error is rendered. I've worked around by renaming the field. However, it is a bit annoying. It seems like something, either in Freemarker or WebWork, is treating notify as an undocumented reserved word. The exception is as follows:
?size is unsupported for: freemarker.ext.beans.SimpleMethodModel
The problematic instruction:
----------
==> list fieldErrors[parameters.name] as error [on line 3, column 1 in template/xhtml/checkbox.ftl]
----------
Java backtrace for programmers:
----------
freemarker.template.TemplateModelException: ?size is unsupported for: freemarker.ext.beans.SimpleMethodModel
at freemarker.ext.beans.SimpleMethodModel.size(SimpleMethodModel.java:151)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)
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.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.process(Environment.java:176)
at freemarker.template.Template.process(Template.java:231)
at com.opensymphony.webwork.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:124)
at com.opensymphony.webwork.components.UIBean.mergeTemplate(UIBean.java:637)
at com.opensymphony.webwork.components.UIBean.end(UIBean.java:591)
at com.opensymphony.webwork.views.freemarker.tags.CallbackWriter.afterBody(CallbackWriter.java:65)
at freemarker.core.Environment.visit(Environment.java:235)
|
|
Description
|
When using an action with boolean field name "notify" and corresponding getters/setters, this fails:
<@ww.checkbox name="notify" />
If the name refers to a non-existant field, no error is rendered. I've worked around by renaming the field. However, it is a bit annoying. It seems like something, either in Freemarker or WebWork, is treating notify as an undocumented reserved word. The exception is as follows:
?size is unsupported for: freemarker.ext.beans.SimpleMethodModel
The problematic instruction:
----------
==> list fieldErrors[parameters.name] as error [on line 3, column 1 in template/xhtml/checkbox.ftl]
----------
Java backtrace for programmers:
----------
freemarker.template.TemplateModelException: ?size is unsupported for: freemarker.ext.beans.SimpleMethodModel
at freemarker.ext.beans.SimpleMethodModel.size(SimpleMethodModel.java:151)
at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167)
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.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.process(Environment.java:176)
at freemarker.template.Template.process(Template.java:231)
at com.opensymphony.webwork.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:124)
at com.opensymphony.webwork.components.UIBean.mergeTemplate(UIBean.java:637)
at com.opensymphony.webwork.components.UIBean.end(UIBean.java:591)
at com.opensymphony.webwork.views.freemarker.tags.CallbackWriter.afterBody(CallbackWriter.java:65)
at freemarker.core.Environment.visit(Environment.java:235) |
Show » |
|
Maybe java.lang.Object's notify() method is causing you problem here...