In fact, you can use a ValueChangeListener, which is called when the value of your selectOneMenu changes:
<h:selectOneMenu class="category" valueChangeListener="#{yourBean.selectOneMenuListener}">
<f:selectItems value="#{categoryBackingBean.categorys}" var="c"
itemLabel="#{c.category_Name}" itemValue="#{c.id}" />
</h:selectOneMenu>
Then in your bean you have this method:
public void selectOneMenuListener(ValueChangeEvent event) {
Object newValue = event.getNewValue();
}
To refresh the page, you can add onchange="submit()"to yours <h:selectOneMenu/>. For partial rendering, you can try adding this <f:ajax/>instead onchange="submit()":
<h:selectOneMenu class="category" valueChangeListener="#{yourBean.selectOneMenuListener}">
<f:selectItems value="#{categoryBackingBean.categorys}" var="c"
itemLabel="#{c.category_Name}" itemValue="#{c.id}" />
<f:ajax event="change" execute="@form" render="theIdOfTheComponentYouWantToReRender"/>
</h:selectOneMenu>
, , , . selectOneMenu , , , .