JSF - Wert von SelectOneMenu an Bean übergeben

endnic

Grünschnabel
Hallo,

ich bin neu hier und habe gleich eine Problem.

Ich habe eine selectOneListbox und einen Button in meiner jsf:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html">
<h:head><title>Button-Labeling</title>
</h:head>
	
	<h:body>
		<form id="myform2">
			<div align="center">
				<h3>Button-Labeling</h3>
				<p>
					<h:selectOneListbox id="ba" size="1" value="#{labeling.currentItem}"
						onchange="this.form.button.value=this.options[selectedIndex].value;" >	
						<f:selectItems value="#{labeling.allItems}" />
					</h:selectOneListbox>		
				</p>
			
				 <h:commandButton id="button" value="#{labeling.currentItem}"/>
			</div>
		</form>
	</h:body>
</html>

und folgende Bean:

Code:
package testing;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.model.SelectItem;

@ManagedBean
public class labeling 
{
	SelectItem currentItem;
	List<SelectItem> allItems;
	
	public labeling()
	{
		allItems = new ArrayList<SelectItem>();
		allItems.add(new SelectItem("Button1" ,"Button1"));
		allItems.add(new SelectItem("Button2" ,"Button2"));
		allItems.add(new SelectItem("Button3" ,"Button3"));
	
	}

	public SelectItem getCurrentItem() 
	{
		return currentItem;
	}

	public void setCurrentItem(SelectItem currentItem)
	{
		this.currentItem = currentItem;
	}

	public List<SelectItem> getAllItems()
	{
		return allItems;
	}

	public void setAllItems(List<SelectItem> allItems) 
	{
		this.allItems = allItems;
	}	
}

zur zeit ist es so, dass die Buttonbeschriftung je nach Auswahl im selectOneListbox angezeigt wird.
Nun möchte ich aber den Wert des ausgewählten Items in der Bean weiterverarbeiten.

Mir fehlt nur jeglicher Ansatz dafür, hat jemand eine Idee?
Danke schonmal...
 

Neue Beiträge

Zurück