Örnek

Bir String Listesi için Converter Örneği

Bir bean içindeki bir listeyi araya virgül koyarak göstermek ve araya virgül girilerek verilen bilgiyi liste olarak almak için aşağıdaki gibi bir converter yapılabilir.
import java.util.Arrays;
import java.util.List;
 
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
 
@FacesConverter(value = "com.fibiler.jsf.converter.ListConverter")
public class ListConverter implements Converter{
 
	@Override
	public Object getAsObject(FacesContext context, UIComponent component, String value) {
			   
		String[] values=value.split(",");

		return Arrays.asList(values);
			   
	}

	@Override"
	public String getAsString(FacesContext context, UIComponent component, Object value) {
			   
		List<String> list=(List)value;

		String joined = String.join(",", list);

		return joined;
			   
	}
 
}
Gelen değer , ile parçalanıp listeye çevrilmekte, ters olarak da gelen liste aralarına , eklenerek birleştirilmektedir. Aşağıdaki gibi bir bean ve xhtml ile kullanılabilir:
import java.util.ArrayList;
import java.util.List;
 
import javax.annotation.ManagedBean;
 
@ManagedBean
public class ListConverterTestBean {
             
	private List<String> items=new ArrayList<String>();

	public ListConverterTestBean() {
			   
		items.add("ITEM1");
		items.add("ITEM2");
		items.add("ITEM3");
			   
	}

	public List<String> getItems() {
		return items;
	}

	public void setItems(List<String> items) {
		this.items = items;
	}

	public void submit(){
			   
		for (String string : items) {
					 
			System.out.println("item :" + string);
					 
		}
			   
	}
}
Bu bean aşağıdaki gibi kullanılabilir:
<h:form>
 
	<h:inputText value="#{listConverterTestBean.items}" 
		converter="com.fibiler.jsf.converter.ListConverter"></h:inputText>

	<h:commandButton action="#{listConverterTestBean.submit}" 
		value="Submit"></h:commandButton>
             
</h:form>
Görüldüğü gibi converter="com.fibiler.jsf.converter.ListConverter" ile converter verilmiştir.
zafer.teker , 23.02.2017

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir

Misafir Yorumları




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir