aspose file tools*
The moose likes JSF and the fly likes Create a Different selectOneListbox Depending On the Radio Button Clicked Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » JSF
Bookmark "Create a Different selectOneListbox Depending On the Radio Button Clicked" Watch "Create a Different selectOneListbox Depending On the Radio Button Clicked" New topic
Author

Create a Different selectOneListbox Depending On the Radio Button Clicked

Daniel Gee
Ranch Hand

Joined: Aug 29, 2003
Posts: 202
How to prompt a specific selectOneListbox depending on the radio button that the user clicks?

I have created a set of radio buttons:

The code in my jsp page is like:

and I know how to create selectOneListbox.

But, I am having problem to prompt different list of records depending on the radion button on which the user clicks.
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15286
    
    6

On a value change event for each radio button, give your private SelectItem[] records a different set of SelectItems[].


GenRocket - A Test Data Generation Platform
Daniel Gee
Ranch Hand

Joined: Aug 29, 2003
Posts: 202
Thanks for the reply; but, huh? I do not understand.

I have a listbox A created:

I have another listbox B.

I have two radio buttons. The default radio button displays the listbox A. If user click on the other radio button, the browser is supposed to diaplay listbox B.
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15286
    
    6

Ohh, ok, so you need a boolean member in your backing bean and use the rendered attribute for your listboxes that is based on that boolean value.

rendered="#{dataManagementBean.showListOne}"
rendered="#{!dataManagementBean.showListOne}"
Daniel Gee
Ranch Hand

Joined: Aug 29, 2003
Posts: 202
Sorry, I am even more confused.

I have two radio buttons; one is default and the other is not default. the radio buttons are created this way:

where defaultSelectedRecord and records are the properties in my backing bean: DataManagementBean.

When my web page is first displayed, the defaultSelectedRecord is selected, and the list box A is supposed to be on the screen.

If users opt for the other radio button, I am supposed to prompt list box B on the screen.
[ September 21, 2005: Message edited by: Daniel Gee ]
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15286
    
    6

Do you have a change listener for your radio buttons?
Daniel Gee
Ranch Hand

Joined: Aug 29, 2003
Posts: 202
I have put a ValueChangeListener for my radio button. I have two radio buttons. And I have two list boxes. List box A will be displayed if the first radio button is clicked by users. List box B will be displayed if the second radio button is clicked by users.

To have something displayed in the list box when the web page is "first" rendered, I would like to show a default radio button (the first radio button) and display the list box A.

But, my code has a "runtime" error:

java.lang.IllegalArgumentException: Conversion Error setting value ''{0}'' for ''{1}''.


My code is show below. In my jsp page, I try to construct a set of radio buttons and a list box:

In my backing bean, I have:

This is how I contruct my "records", which is a Map:

The runtime error message is:

java.lang.IllegalArgumentException: Conversion Error setting value ''{0}'' for ''{1}''.
com.sun.faces.util.Util.getSelectItems(Util.java:628)
com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:488)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:465)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:430)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:720)
javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:623)
javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:546)
com.sun.faces.taglib.html_basic.SelectOneListboxTag.doEndTag(SelectOneListboxTag.java:521)
org.apache.jsp.pages.screen1_jsp._jspx_meth_h_selectOneListbox_0(screen1_jsp.java:383)
org.apache.jsp.pages.screen1_jsp._jspx_meth_h_form_0(screen1_jsp.java:212)
org.apache.jsp.pages.screen1_jsp._jspx_meth_f_view_0(screen1_jsp.java:164)
org.apache.jsp.pages.screen1_jsp._jspService(screen1_jsp.java:129)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
Daniel Gee
Ranch Hand

Joined: Aug 29, 2003
Posts: 202
Let me answer my own question.

Take a look at the example provided by Richard Hightower at http://www-128.ibm.com/developerworks/java/library/j-jsf2/
vasavi devi
Greenhorn

Joined: Oct 06, 2005
Posts: 2
hi,
in the jsp page you have given something like this.

<h:selectOneRadio value="#{dataManagementBean.dataTransferTypeItems[0]}" layout="pageDirection" onchange="submit()" immediate="true" valueChangeListener="#{dataManagementBean.showRecordList}"><f:selectItems value="#{dataManagementBean.dataTransferTypeItems}"/></h:selectOneRadio>

remove "[0]" while giving the value.
value="#{dataManagementBean.dataTransferTypeItems}"

try to give like this and try.
Daniel Gee
Ranch Hand

Joined: Aug 29, 2003
Posts: 202
The problem was more complicated than that.

I have had it worked out. I followed the example provided by Richard Hightower at http://www-128.ibm.com/developerworks/java/library/j-jsf2/
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Create a Different selectOneListbox Depending On the Radio Button Clicked
 
Similar Threads
Problem With selectonelistbox
problem with SelectOneListbox
problem when working with selectOneListbox
Help - question on selectOneListbox and page reloads
JSF SelectOneListBox issue