I tried your suggest but ending up getting errors stating that parameters
were unbound.

I thought the binding tags below bind the values on the form.  If i put
parameter tags on top of these declarations i get errors.  Can anyone show
me an example of what you are talking about and how to reference the
component in my page template?

-jm

<component id="phone1" type="TextField">
        <binding name="value" value="phone1"/>

        <binding name="validators"
value="validators:required[%invalid-area-code],pattern=\d{3}[%invalid-area-code]"/>


    </component>
    <component id="phone2" type="TextField">
        <binding name="value" value="phone2"/>
        <binding name="validators"
value="validators:required[%invalid-phone-num],pattern=\d{3}[%invalid-phone-num]"/>


    </component>
    <component id="phone3" type="TextField">
        <binding name="value" value="phone3"/>
        <binding name="validators"
value="validators:required[%invalid-phone-num],pattern=\d{4}[%invalid-phone-num]"/>

    </component>








On 3/10/06, Peter Svensson <[EMAIL PROTECTED]> wrote:
>
> Hmm. OK. You have to have a parameter definition in your component. that's
> what accepts the bindings to it you make in the page file where you refer
> to
> it, like;
>
> <parameter name="phone1" required="yes"/>
> ..
> etc..
>
> in the Phone.jwc file
>
> Cheers,
> PS
>
>
> On 3/10/06, John Menke <[EMAIL PROTECTED]> wrote:
> >
> > Peter,
> >
> > I have getter and setter methods in my Phone.java and in my Parent file
> > NestedPhoneTest.java
> >
> > here: is what i have
> >
> > TestNestedPhone.page:
> >
> >
> >     <component id="Phone" type="Phone">
> >
> >       <binding name="phone1" value="ognl:components.form.phone.phone1"/>
> >       <binding name="phone2"  value="ognl:components.form.phone.phone1
> "/>
> >       <binding name="phone3"  value="ognl:components.form.phone.phone1
> "/>
> >
> >     </component>
> >
> >
> > Phone.jwc:
> >
> > <component id="phone1" type="TextField">
> >         <binding name="value" value="phone1"/>
> >         <binding name="validators"
> >
> >
> value="validators:required[%invalid-area-code],pattern=\d{3}[%invalid-area-code]"/>
> >
> >     </component>
> >     <component id="phone2" type="TextField">
> >         <binding name="value" value="phone2"/>
> >         <binding name="validators"
> >
> >
> value="validators:required[%invalid-phone-num],pattern=\d{3}[%invalid-phone-num]"/>
> >
> >     </component>
> >     <component id="phone3" type="TextField">
> >         <binding name="value" value="phone3"/>
> >         <binding name="validators"
> >
> >
> value="validators:required[%invalid-phone-num],pattern=\d{4}[%invalid-phone-num]"/>
> >
> >     </component>
> >
> >
> >      <property name="phone1"/>
> >     <property name="phone2"/>
> >     <property name="phone3"/>
> >
> >
> > Phone.html
> >
> >
> > <input jwcid="phone1" name="phone1" tabindex="80" size="3" maxlength="3"
> > displayName="Day Phone"/>&nbsp;-
> >
> > <input jwcid="phone2" name="dayphone2" type="text" id="dayphone2ID"
> > tabindex
> > ="90" size="3" maxlength="3" displayName="Day Phone" />&nbsp;-
> >
> > <input jwcid="phone3" name="dayphone3" type="text" id="dayphone3ID"
> > tabindex
> > ="95" size="4" maxlength="4" displayName="Day Phone" />
> >
> > What i'm hoping is for in the submitAction in my NestedPhoneTest.java to
> > be
> > able to read the values.
> >
> > I have
> >
> >
> > public void formSubmit(IRequestCycle cycle) {
> >
> >              String phone1 = getPhone1();
> >              String phone2 = getPhone2();
> >              String phone3 = getPhone1();
> >
> >              System.out.println(phone1 + phone2 + phone3);
> >
> > }
> >
> > the values come out nullnullnull
> >
> > In my log i get this warning:
> >
> > 10 Mar 2006 14:56:43,765  WARN ComponentTemplateLoader:428 - Template
> for
> > component TestNestedPhone does not reference embedded component: Phone.
> >
> > Is it my ognl binding?
> >
> >
> >
> > jm
> >
> >
> >
> > On 3/10/06, Peter Svensson <[EMAIL PROTECTED]> wrote:
> > >
> > > I think you just give them different names/ids like you already do.
> And
> > > since you have named the values already, you need only add some
> abstrcat
> > > access methods in your class,like;
> > >
> > > public abstract String getPhone1();
> > > public void setPhone1(String s);
> > >
> > > And you're done :)
> > >
> > > I don't think that the "type"  actually does anything, possibly not
> the
> > id
> > > in the html either.
> > >
> > > Generally, I'd recommend you to either do all in html or just name the
> > > component in the jwcid="" tag and then do everything kraftwerk-style
> in
> > > the
> > > .page file.
> > >
> > > Cheers,
> > > PS
> > >
> > >
> > > On 3/10/06, John Menke <[EMAIL PROTECTED]> wrote:
> > > >
> > > > I want to write a "Phone" component that allows me to define 3 text
> > > input
> > > > boxes contained inside it:
> > > >
> > > > My question is:  How can can i bind/retrieve the values in my
> > containing
> > > > page and how do I avoid name conflicts if i have more than 1 Phone
> > > > component
> > > > on the containing page?
> > > >
> > > > Phone.html
> > > >
> > > > <html>
> > > >
> > > > <body jwcid="$content$">
> > > >
> > > > <input jwcid="phone1" name="phone1" tabindex="80" size="3"
> > maxlength="3"
> > > > displayName="Day Phone"/>&nbsp;-
> > > >
> > > > <input jwcid="phone2" name="dayphone2" type="text" id="dayphone2ID"
> > > > tabindex
> > > > ="90" size="3" maxlength="3" displayName="Day Phone" />&nbsp;-
> > > >
> > > > <input jwcid="phone3" name="dayphone3" type="text" id="dayphone3ID"
> > > > tabindex
> > > > ="95" size="4" maxlength="4" displayName="Day Phone" />
> > > >
> > > > </body>
> > > >
> > > > </html>
> > > >
> > > > Phone.jwc
> > > >
> > > >
> > > > <component-specification allow-body="no">
> > > >
> > > >    <component id="phone1" type="TextField">
> > > >         <binding name="value" value="phone1"/>
> > > >     </component>
> > > >     <component id="phone2" type="TextField">
> > > >         <binding name="value" value="phone2"/>
> > > >       </component>
> > > >     <component id="phone3" type="TextField">
> > > >         <binding name="value" value="phone3"/>
> > > >     </component>
> > > > </component-specification>
> > > >
> > > > **
> > > >
> > > > -jm
> > > >
> > > >
> > >
> > >
> >
> >
>
>

Reply via email to