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