[jboss-user] [JBoss Seam] - h:selectManyListbox and s:convertEntity don't do the job

wise_guybg do-not-reply at jboss.com
Tue Sep 18 07:44:29 EDT 2007

A colleague today showed me a problem with a page in our application (Seam 2.0.0.B1). When a user opens an Exam he previously created for editing, there is a list (SelectManyListbox) of providers he can select from. Saving the form without modifying the selected (two) items, results in a delete sql for the selected items and two insert SQLs that have exactly the same values.

What is causing this, in my opinion, is the fact that after submit exam.setProviderList() is called with an Arrays$ArrayList and the PersistentBag that was previously set for the Exam entity is left unassigned.

Here is the code for the  selectManyListbox :
<h:selectManyListbox id="providerList" value="#{exam.providerList}" styleClass="field" required="true">
  |   <s:selectItems value="#{providers}" var="p" label="#{p.name}"/>
  |   <s:convertEntity />
  | </h:selectManyListbox>

I thought convertEntity should do the job but it is only used to convert the entities contained in the list as stated here:

My solution for the problem would be to create a getter/setter in the ExamAction session bean. The setter would update exam.getProviderList() so that it ends up with the same elements as the passed providerList (which is an Arrays$ArrayList). This solution though seems not seamless. Shouldn't this feature be built-in for the framework?

There is a wiki page about the entityConverter but the example on selectManyListbox  and Factory is really vague. It's not in the source code provided:

Thanks in advance for your comments.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4085430#4085430

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4085430

More information about the jboss-user mailing list