[jboss-user] [JBoss Seam] - Re: Chained select boxes
damianharvey
do-not-reply at jboss.com
Fri Dec 14 10:41:44 EST 2007
It's friday, my pub lunch is settling nicely and I'm feeling verbose, so here's a very basic example (probably some syntax errors but you get the drift):
| @Name("citySelectionBean")
| @Scope(ScopeType.CONVERSATION) // <---- This is important. You could also use SESSION or a stateful bean
| public class CitySelectionBean {
| String country;
| String state;
| String city;
|
| public List<String> getCountries() {
| return entityManager.createQuery("select c from Country c").getResultList();
| }
|
| public List<String> getStates() {
| List<String> states = new ArrayList<String>();
| if(this.country != null) {
| return entityManager.createQuery("select s from State s where s.country = :country")
| .setParameter("country", this.country)
| .getResultList();
| }
| return states;
| }
|
| public List<String> getCities() {
| List<String> cities = new ArrayList<String>();
| if(this.state != null) {
| return entityManager.createQuery("select c from City c where c.state = :state")
| .setParameter("state", this.state)
| .getResultList();
| }
| return cities;
| }
| }
|
And your page:
| <h:selectOneMenu id="country" value="#{citySelectionBean.country}">
| <s:selectItems value="#{citySelectionBean.countries}" var="country" label="#{country}">
| <a:support event="onchange" reRender="state, city"/>
| </h:selectOneMenu>
|
| <h:selectOneMenu id="state" value="#{citySelectionBean.state}">
| <s:selectItems value="#{citySelectionBean.states}" var="state" label="#{state}">
| <a:support event="onchange" reRender="city"/>
| </h:selectOneMenu>
|
| <h:selectOneMenu id="city" value="#{citySelectionBean.city}">
| <s:selectItems value="#{citySelectionBean.cities}" var="city" label="#{city}">
| </h:selectOneMenu>
|
Also create a page.xml file and ensure that you have something like <begin-conversation> in it.
Hope this helps.
Cheers,
Damian.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4112981#4112981
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4112981
More information about the jboss-user
mailing list