Hi folks, Not possible to populate a java.util.Set from a form post in Struts 2? A discussion on Stack Overflow concluded that you can't populate a java.util.Set type Collection with a form post in Struts 2. Can you guys confirm?
Basically, I'm able to successfully iterate over a Set in a JSP to display the Collection but when I post a form to the Action all the POJO's fields get populated except the field that is of type java.util.Set. For those that use Hibernate I'm guessing this would be a common issue since Set is the most common collection mapping. http://stackoverflow.com/questions/6443498/pojos-collection-not-populated-when-submitting-form Many thanks for your input. On Wed, Jun 22, 2011 at 3:53 PM, Justin Robbins <justinhrobb...@gmail.com> wrote: > Hi folks, > > I have a POJO which has a field of type java.util.Set that is > collection of domain objects. When I submit a form to my Action, all > the POJO fields are populated with values from the form except the > field which is the collection. I have no idea why this collection > isn't getting populated. Any advice on how to resolve this problem or > how to better troubleshoot it would be much appreciated. > > I'm posting some code excerpts below but please not that I posted > larger code excerpts for my example in a separate post StackOverflow. > I hope that's not considered a faux pas for cross posting but it > didn't seem these emails are a great place to copy and paste a bunch > of code. > > http://stackoverflow.com/questions/6443498/pojos-collection-not-populated-when-submitting-form > > I also have a second related question. My POJO's collection is a > java.util.Set. Does it matter to Struts 2 (or complicate things) that > I'm using a Set and not a List? Is it common to use a Set as a > collection field in a POJO used in Struts 2? The reason I'm using a > Set is that I'm using Hibernate for ORM and according to the > documentation a Set is the most common collection used association > based mappings in Hibernate. > > <s:textfield name="flashCard.links.url" key="label.flashcard.link" size="66" > /> > > I've also tried: > <s:textfield name="flashCard.links[0].url" key="label.flashcard.link" > size="66" /> > > From the Action class: > FlashCard flashCard = new FlashCard(); > > public FlashCard getFlashCard() { > return this.flashCard; > } > > public void setFlashCard(FlashCard flashCard) { > this.flashCard = flashCard; > } > > From the POJO: > private Set<Link> links = new HashSet<Link>(0); > > public Set<Link> getLinks() { > return this.links; > } > > public void setLinks(Set<Link> links) { > this.links = links; > } > > -- > Regards, > Justin Robbins > -- Regards, Justin Robbins 973.479.0448 justinhrobb...@gmail.com Learn more about me by viewing my professional profile on LinkedIn http://www.linkedin.com/in/justinhrobbins View my professional blog http://javadeveloperjournal.blogspot.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org