onChange for a selectItem

I am new to JSF ( done a lot of struts/JSTL though )

I am trying to get a dataTable displayed with onChange event from a dropdown menu.I have been succesful with a submit button but I guess things are different in the JSF world when it comes to JS events like onChange .Do I need "listeners" for this.Could I get an example...

[340 byte] By [micro_learnera] at [2007-11-26 13:17:29]
# 1

Not sure but I think it's something like:

JSP:

<h:selectOneRadio value="#{mgdBean2.currentSearchType}"

immediate="true" onclick="this.form.submit()"

valueChangeListener="#{mgdBean2.changeSearchType}">

<f:selectItems value="#{mgdBean2.allSearchTypes}"/>

</h:selectOneRadio>

Bean:

public void changeSearchType(ValueChangeEvent evt)

{

String newSearchTypeValue = evt.getNewValue().toString();

if (newSearchTypeValue.equals(KEYWORD_VAL))

{

setKeywordSearch(true);

}

else if (newSearchTypeValue.equals(AUTHOR_VAL))

{

setAuthorSearch(true);

}

FacesContext.getCurrentInstance().renderResponse();

}

Hope it's of some use, it's straight out of some training material we have lying around!

Illua at 2007-7-7 17:41:30 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 2

Hi,

1.For a dropdown menu you'd rather use a h:selectOneMenu.

2.use a valueChangeListener to toggle a certain property which is binded to your table rendered property.

3.use javascript as stated above to submit the form

<h:selectOneMenu valueChangeListener="#{bean.toggleTableRendered}" onchange="this.form.submit()">

<f:selectItems...>

</h:selectOneMenu>

<h:dataTable rendered="#{bean.tableRendered}">

....

</h:dataTable>

trevorijonesa at 2007-7-7 17:41:30 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...