Hi Craig,
sorry, if this is totally OT, but I just posted a similar question in
the sun forum: Where would you actually place the code you mentioned
within a JSF component? I mean beginEncode() is called each time the
page is requested so what can I do, if I only want to add a component
once? I don't think that implementing NamingContainer and calling
findComponent() is a really nice solution ...
Thanks,
Tom
Craig McClanahan wrote:
> On 3/9/06, Rivka Shisman <[EMAIL PROTECTED]> wrote:
>> Hi friends,
>>
>>
>>
>> I need to dynamically build an input form that may contain various
>> html:fields (i.e. html:text, html:select, html:radio etc).
>>
>> The type and name of the html:field will be determined at runtime (from
>> DB table).
>>
>> How can I do it using Struts and JSP?
>
>
> Basically, you can not do this sort of thing with the Struts HTML tags ...
> but you could easily do it with JavaServer Faces components. A quick
> snapshot to give you the idea of how it works:
>
> HtmlForm form = ...; // Acquire a reference to the parent form component
>
> HtmlOutputLabel label1 = new HtmlOutputLabel(); // Label for username
> field
> label1.setValue("Username:");
>
> HtmlInputText username = new HtmlInputText(); // Username field
> username.setId("username");
>
> HtmlOutputLabel label2 = new HtmlOutputLabel(); // Label for password
> field
> label2.setValue("Password:");
>
> HtmlInputSecret password = new HtmlInputSecret(); // Password field
> password.setId("password");
>
> HtmlCommandButton submit = new HtmlCommandButton(); // Submit button
> submit.setId("logon");
>
> List children = form.getChildren();
> children.add(label1);
> children.add(username);
> children.add(label2);
> children.add(password);
> children.add(submit);
>
> There's lots more you can do, but this gives the basic flavor of dynamically
> creating component hierarchies.
>
> Thanks
>> Rivka
>
>
> Craig
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]