Hi,
I just started to migrate an existing Tapestry 3.0.3 application to Tapestry
4.0.
This migration was no that seemless as i have expected. At the moment there
is one problem that is a major one for me:
I have a component that makes use of contrib:FormConditional:
<component-specification allow-body="no"
allow-informal-parameters="no">
<parameter name="queryType" />
<parameter name="answer1"
default-value="null" />
<parameter name="answer2"
default-value="null" />
<component id="conditional"
type="contrib:FormConditional">
<binding name="condition"
value="queryType == 0" />
</component>
<component id="radioGroup"
type="RadioGroup">
<binding name="selected"
value="answer1" />
</component>
</component-specification>
Accessing the page that contains this Component leads to the following
exception:
Could not find template for component Frage/$JaNeinFrage.conditional in
locale de. component:
[EMAIL PROTECTED]/$JaNeinFrage.conditional] location:
context:/WEB-INF/JaNeinFrage.jwc, line 18, column 42
13
14 <parameter name="answer2"
15 default-value="null" />
16
17 <component id="conditional"
18 type="contrib:FormConditional">
19 <binding name="condition"
20 value="queryType == 0" />
21 </component>
22
23 <component id="radioGroup"
Stack Trace:
*
org.apache.tapestry.services.impl.TemplateSourceImpl.getTemplate(TemplateSou
rceImpl.java:137)
*
$TemplateSource_104d49d2d0d.getTemplate($TemplateSource_104d49d2d0d.java)
*
org.apache.tapestry.services.impl.ComponentTemplateLoaderImpl.loadTemplate(C
omponentTemplateLoaderImpl.java:56)
*
$ComponentTemplateLoader_104d49d2d77.loadTemplate($ComponentTemplateLoader_1
04d49d2d77.java)
*
org.apache.tapestry.pageload.PageLoader.loadTemplateForComponent(PageLoader.
java:670)
*
org.apache.tapestry.BaseComponent.readTemplate(BaseComponent.java:77)
* org.apache.tapestry.BaseComponent.finishLoad(BaseComponent.java:107)
* $FormConditional_24.finishLoad($FormConditional_24.java)
*
org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:4
78)
*
org.apache.tapestry.pageload.PageLoader.constructComponent(PageLoader.java:4
60)
*
org.apache.tapestry.pageload.PageLoader.createImplicitComponent(PageLoader.j
ava:529)
*
$IPageLoader_104d49d2d6f.createImplicitComponent($IPageLoader_104d49d2d6f.ja
va)
*
$IPageLoader_104d49d2d70.createImplicitComponent($IPageLoader_104d49d2d70.ja
va)
*
org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.createImplici
tComponent(ComponentTemplateLoaderLogic.java:220)
*
org.apache.tapestry.services.impl.ComponentTemplateLoaderLogic.process(Compo
nentTemplateLoaderLogic.java:174)
What is wrong with this component declaration?
The contrib library is part of the applications classpath and gets loaded by
the application file. At least the Inspector shows up on those pages that
work even if also the inspector leads to exceptions.
Mit freundlichen Grüßen,
Ralf Edmund Stranzenbach