I'm sorry :(
I must say I'm thrilled you answered my question.
here is more details about my component:

Layout.jwc:

<component-specification allow-body="yes" allow-informal-parameters="no"
        class="Layout">

        <parameter name="columnCount" default-value="literal:2" />
        <parameter name="pageMessages" required="no"
                default-value="container.messages" />
        <parameter name="labelNoWrap" default-value="literal:true" />

        <parameter name="showBorder" required="false"
                default-value="literal:false" />

        <property name="currentIndex" />
        <property name="currentComponent" />

        <component id="bodyComponentsIterator" type="For">
                <binding name="source" value="ognl:fieldComponents" />
                <binding name="value" value="currentComponent" />
                <binding name="index" value="currentIndex" />
                <binding name="renderTag" value="literal:false" />
        </component>

        <component id="currentComponentDelegator" type="Delegator">
                <binding name="delegate" value="currentComponent" />
        </component>

        <component id="title" type="Insert">
                <binding name="value"
                value="ognl:pageMessages.getMessage('layout.' + id + '.' +
                currentComponent.id + '.label')" />
        </component>

        <component id="title2" copy-of="title" />

        <component id="mainLayoutTable" type="Any">
                <binding name="style" value="layoutTableStyle" />
        </component>

</component-specification>







Layout.html:


<table jwcid="mainLayoutTable" cellspacing="0" cellpadding="0">
        <span jwcid="@RowSpacer" />
        <tr>
        <span jwcid="bodyComponentsIterator">

        <span jwcid="@If"
                                condition="ognl:((currentIndex % 
columnCount)==0)"
                                renderTag="false">
        <span jwcid="@If" condition="ognl:(currentIndex != 0)"
                                        renderTag="false">
                                        <span jwcid="@Insert" 
value="literal:<tr>" raw="true"
                                                renderTag="false" />
                                        <tr>
                                                <td class="padingrite10">
                                                         
                                                </td>
                                        </tr>
                                        <span jwcid="@Insert" 
value="literal:<tr>" raw="true"
                                                renderTag="false" />
                                </span>
                        </span>

                        <span jwcid="@If" renderTag="false"
                                
condition="ognl:(currentComponent.id.indexOf('$') != 0)">
                                <span jwcid="@If" renderTag="false"
                                        condition="labelNoWrap">
                                        <td valign="top" class="padingrite10"
                                                style="white-space:nowrap;">
                                                <b>
                                                        <span jwcid="title" />
                                                </b>
                                        </td>
                                </span>

                                <span jwcid="@Else" renderTag="false">
                                        <td valign="top" class="padingrite10">
                                                <b>
                                                        <span jwcid="title2" />
                                                </b>
                                        </td>
                                </span>
                        </span>

                        <span jwcid="@Else" renderTag="false">
                                <td valign="top" class="padingrite10">
                                         
                                </td>
                        </span>

                        <td valign="top" class="padingrite35">
                                <span jwcid="currentComponentDelegator" />
                        </td>

                </span>

        </tr>
        <span jwcid="@RowSpacer" />
</table>

RowSpacer is just component which makes one blank row in a table.





Layout.java:

public abstract class Layout extends BaseComponent {

        public IRender[] getFieldComponents() {
                IRender[] components = getBody();

                List<IRender> fieldComponents = new ArrayList<IRender>();

                for (IRender component : components) {
                        if (component != null && !(component instanceof 
TextToken)) {
                                fieldComponents.add(component);
                        }
                }

                return (IRender[]) fieldComponents.toArray(new 
IRender[fieldComponents
                                .size()]);
        }

        public abstract String getShowBorder();

        public String getLayoutTableStyle() {
                if (getShowBorder().equals("false")) {
                        return "border: 0px;";
                } else {
                        return "border: 1px solid #777777;";
                }
        }
}





This component takes all components inside her and creates a table
with Title, and actual component in columns(it have number of columns,
actually number of column pairs as parameter). It works great with Insert
component, but what I need is to have the same functionality for editing,
with FormField components. I need to use Form component outside my component,
and to have FormFiled and other Form coponents inside my Layout component.

When I insert my component and FormField inside it, I get following error:

Exception:  Could not find a strategy instance for class $TextField_24.
java.lang.IllegalArgumentException


Stack Trace:

    *
org.apache.hivemind.lib.util.StrategyRegistryImpl.searchForAdaptor
(StrategyRegistryImpl.java:176)
    *
org.apache.hivemind.lib.util.StrategyRegistryImpl.getStrategy
(StrategyRegistryImpl.java:74)
    *
org.apache.tapestry.util.io.DataSqueezerImpl.squeeze
(DataSqueezerImpl.java:125)
    * $DataSqueezer_11344885bfd.squeeze
($DataSqueezer_11344885bfd.java)
    * $DataSqueezer_11344885bfc.squeeze
($DataSqueezer_11344885bfc.java)
    *
org.apache.tapestry.data.NullDataSqueezerFilter.squeeze
(NullDataSqueezerFilter.java:32)
    * $DataSqueezer_11344885bfe.squeeze
($DataSqueezer_11344885bfe.java)
    * $DataSqueezer_11344885aa8.squeeze
($DataSqueezer_11344885aa8.java)
    * $DataSqueezer_11344885aa7.squeeze
($DataSqueezer_11344885aa7.java)
    * org.apache.tapestry.components.ForBean.getStringRepFromValue
(ForBean.java:477)
    *
org.apache.tapestry.components.ForBean$StoreSourceDataIterator.next
(ForBean.java:440)
    * org.apache.tapestry.components.ForBean.renderComponent
(ForBean.java:157)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:523)
    * org.apache.tapestry.components.Any.renderComponent
(Any.java:53)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.BaseComponent.renderComponent
(BaseComponent.java:92)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:523)
    * org.apache.tapestry.form.FormSupportImpl.render
(FormSupportImpl.java:515)
    * org.apache.tapestry.form.Form.renderComponent
(Form.java:226)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:523)
    * org.apache.tapestry.components.RenderBody.renderComponent
(RenderBody.java:41)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.BaseComponent.renderComponent
(BaseComponent.java:92)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:523)
    * org.apache.tapestry.components.IfBean.renderComponent
(IfBean.java:96)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:523)
    * org.apache.tapestry.components.RenderBody.renderComponent
(RenderBody.java:41)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:523)
    * org.apache.tapestry.components.Any.renderComponent
(Any.java:53)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.BaseComponent.renderComponent
(BaseComponent.java:92)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:523)
    * org.apache.tapestry.components.RenderBody.renderComponent
(RenderBody.java:41)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.BaseComponent.renderComponent
(BaseComponent.java:92)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:523)
    * org.apache.tapestry.components.RenderBody.renderComponent
(RenderBody.java:41)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:523)
    * org.apache.tapestry.html.Body.renderComponent
(Body.java:38)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.AbstractComponent.renderBody
(AbstractComponent.java:523)
    * org.apache.tapestry.html.Shell.renderComponent
(Shell.java:64)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.BaseComponent.renderComponent
(BaseComponent.java:92)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:174)
    * org.apache.tapestry.BaseComponent.renderComponent
(BaseComponent.java:92)
    * org.apache.tapestry.AbstractComponent.render
(AbstractComponent.java:710)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.render
(DefaultResponseBuilder.java:172)
    * org.apache.tapestry.AbstractPage.renderPage
(AbstractPage.java:246)
    * org.apache.tapestry.engine.RequestCycle.renderPage
(RequestCycle.java:404)
    *
org.apache.tapestry.services.impl.DefaultResponseBuilder.renderResponse
(DefaultResponseBuilder.java:157)
    *
org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse
(ResponseRendererImpl.java:33)
    *
$ResponseRenderer_11344885ac8.renderResponse
($ResponseRenderer_11344885ac8.java)
    *
$ResponseRenderer_11344885ac7.renderResponse
($ResponseRenderer_11344885ac7.java)
    * org.apache.tapestry.engine.PageService.service
(PageService.java:68)
    * $IEngineService_11344885b33.service
($IEngineService_11344885b33.java)
    *
org.apache.tapestry.services.impl.EngineServiceInnerProxy.service
(EngineServiceInnerProxy.java:77)
    *
org.apache.tapestry.services.impl.EngineServiceOuterProxy.service
(EngineServiceOuterProxy.java:72)
    * org.apache.tapestry.engine.AbstractEngine.service
(AbstractEngine.java:246)
    *
org.apache.tapestry.services.impl.InvokeEngineTerminator.service
(InvokeEngineTerminator.java:54)
    * $WebRequestServicer_11344885b12.service
($WebRequestServicer_11344885b12.java)
    * $WebRequestServicer_11344885b11.service
($WebRequestServicer_11344885b11.java)
    * $WebRequestServicer_11344885b0e.service
($WebRequestServicer_11344885b0e.java)
    * $WebRequestServicer_11344885b0d.service
($WebRequestServicer_11344885b0d.java)
    *
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service
(WebRequestServicerPipelineBridge.java:61)
    *
$ServletRequestServicer_11344885af4.service
($ServletRequestServicer_11344885af4.java)
    *
$ServletRequestServicer_11344885af3.service
($ServletRequestServicer_11344885af3.java)
    *
org.apache.tapestry.request.DecodedRequestInjector.service
(DecodedRequestInjector.java:55)
    *
$ServletRequestServicerFilter_11344885af0.service
($ServletRequestServicerFilter_11344885af0.java)
    *
$ServletRequestServicerFilter_11344885aef.service
($ServletRequestServicerFilter_11344885aef.java)
    *
$ServletRequestServicer_11344885af5.service
($ServletRequestServicer_11344885af5.java)
    *
org.apache.tapestry.multipart.MultipartDecoderFilter.service
(MultipartDecoderFilter.java:52)
    *
$ServletRequestServicerFilter_11344885aee.service
($ServletRequestServicerFilter_11344885aee.java)
    *
$ServletRequestServicerFilter_11344885aed.service
($ServletRequestServicerFilter_11344885aed.java)
    *
$ServletRequestServicer_11344885af5.service
($ServletRequestServicer_11344885af5.java)
    *
org.apache.tapestry.services.impl.SetupRequestEncoding.service
(SetupRequestEncoding.java:53)
    *
$ServletRequestServicerFilter_11344885af2.service
($ServletRequestServicerFilter_11344885af2.java)
    *
$ServletRequestServicerFilter_11344885af1.service
($ServletRequestServicerFilter_11344885af1.java)
    *
$ServletRequestServicer_11344885af5.service
($ServletRequestServicer_11344885af5.java)
    *
$ServletRequestServicer_11344885ae8.service
($ServletRequestServicer_11344885ae8.java)
    *
$ServletRequestServicer_11344885ae7.service
($ServletRequestServicer_11344885ae7.java)
    * org.apache.tapestry.ApplicationServlet.doService
(ApplicationServlet.java:123)
    * org.apache.tapestry.ApplicationServlet.doGet
(ApplicationServlet.java:104)
    * javax.servlet.http.HttpServlet.service
(HttpServlet.java:740)
    * javax.servlet.http.HttpServlet.service
(HttpServlet.java:853)
    * org.mortbay.jetty.servlet.ServletHolder.handle
(ServletHolder.java:358)
    *
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
(WebApplicationHandler.java:294)
    * org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:567)
    * org.mortbay.http.HttpContext.handle
(HttpContext.java:1807)
    *
org.mortbay.jetty.servlet.WebApplicationContext.handle
(WebApplicationContext.java:526)
    * org.mortbay.http.HttpContext.handle
(HttpContext.java:1757)
    * org.mortbay.http.HttpServer.service
(HttpServer.java:879)
    * org.mortbay.http.HttpConnection.service
(HttpConnection.java:789)
    * org.mortbay.http.HttpConnection.handleNext
(HttpConnection.java:960)
    * org.mortbay.http.HttpConnection.handle
(HttpConnection.java:806)
    * org.mortbay.http.SocketListener.handleConnection
(SocketListener.java:218)
    * org.mortbay.util.ThreadedServer.handle
(ThreadedServer.java:331)
    * org.mortbay.util.ThreadPool$PoolThread.run
(ThreadPool.java:520)



Like it doesn't see Form component?






I need to have structure like this:

<span [EMAIL PROTECTED]>
      <span [EMAIL PROTECTED]>
            <span [EMAIL PROTECTED] />
      </span>
</span>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to