Thanks Mathias,

I solved my problem the way you suggested.

I have a managed bean allContacts with a managed property dabataseConnection that is set during session start and takes the connection from the sessionScope.

This databaseConnection property is used to initialise the (static) connection property of each Contact bean in the contactList of the allContacts bean. This is done in the getContactList method of the allContacts bean.

Thanks for the help
Jan

On Thu, 14 Apr 2005 15:41:18 +0200, Broekelmann, Mathias <[EMAIL PROTECTED]> wrote:

Hi Jan,

Remember: You should not do bussiness logik in the presentation layer. ThatÂs why it is and will be not possible that way.

Try to use a managed bean which initializes and holds your contact list. Provide a getContacts() method in that bean which returns the initialized contact beans. While initializing the contacts you take the connection and call the setConnection method for each contact.

Example:

<h:datatable value="#{data.contacts}" var="contact">
        <h:column>
                ...
                <h:outputText value="#{contract.name}" />
        </h:column>
        ...
</h:datatable

Ps: do you load every contact through a separate database query? If so try loading the contacts in a single database call. It will increase performance a lot.

Mathias

-----Original Message-----
From: Jan Bols [mailto:[EMAIL PROTECTED]
Sent: Thursday, April 14, 2005 12:47 PM
To: myfaces-user@incubator.apache.org
Subject: Re: set properties of bean managed by dataTable tag


That's not what I meant. I want to set the database connection property of each Contact bean to a Connection object that is stored in sessionScope. The Contact beans are stored in an ArrayList called contactList of the allContacts bean. By using the <h:dataTable> I get a reference to each contact bean stored in the contactList of my managed bean allContacts. So I have a reference to each contact bean and now I want to set the database connection property of each contact bean to the Connection object stored in sessionScope.

First I though of specifying this in <faces-config> in the
web.xml file
but I can't because the number of Contact beans stored in the
contactList
of the allContacts managed bean aren't known in advance. This
means I
can't make each Contact bean of the contactList a managed bean.

Greetings
Jan

On Wed, 13 Apr 2005 07:56:52 -0500, Heath Borders
<[EMAIL PROTECTED]> wrote:

> You can set the property using an <h:inputText /> inside
your datatable.
> As
> your datatable interates over the rows in the contactList,
you can edit
> each
> contact bean independently.
>
>  On 4/13/05, Jan Bols <[EMAIL PROTECTED]> wrote:
>>
>> I have a jsf-page containing the following:
>> <f:view>
>> <h:dataTable var="contact" value="#{allContacts.contactList}">
>> <h:outputText value="#{contact.firstname}" />
>> </h:dataTable>
>> </f:view>
>
> The allContacts bean is a managed bean and is specified in
the web.xml
>> file:
>> <faces-config>
>> <managed-bean>
>> <managed-bean-name>allContacts</managed-bean-name>
>> <managed-bean-class>MyContacts</managed-bean-class>
>> <managed-bean-scope>session</managed-bean-scope>
>> </managed-bean>
>> </faces-config>
>>
>> The allContacts bean contains a list contactList containing
>> contact-beans.
>> The contact bean contains a property called myConnection
that holds the
>> connection to the database.
>>
>> I want to set that connection property from within the
jsf-page or the
>> web.xml file but how do I do that? In jstl this can be
done with <c:set>
>> or in jsp with <jsp:setProperty> but how do I do this in jsf?
>>
>> Thanks
>> Jan
>>




-- Jan Bols IVPV - Instituut Voor Permanente Vorming Universiteit Gent Technologiepark 913 9052 Zwijnaarde ++32-(0)9-264 55 92 [EMAIL PROTECTED] [EMAIL PROTECTED] http://www.ivpv.UGent.be

Reply via email to