2013-03-20 11 views
10

Hala SpringMVC için yeni (ve bu konuda jstl). Nesneler listesinden bir seçimdeki seçenekleri yerleştirmeye çalışıyorum. C: forEach kullanarak bunu yapmanın bir yolunu buldum, ama formun çalışması için bir yol olması gerektiğini düşünüyorum: seçenekler yöntemi çalışması.SpringMVC formu: seçenekler öğeleri özelliği: tam olarak ne bekliyor?

Etrafa göz attıktan ve en yakın şey hakkında ben öğeler burada öznitelik resmi belgelere >> bulabileceğiniz http://static.springsource.org/spring/docs/2.0.x/reference/spring-form.tld.html#spring-form.tld.options

Bu ürün olduğunu öznitelik diyor

"Koleksiyonu için İç “seçenek” etiketlerini oluşturmak için kullanılan nesneler, eşyalar veya nesneler "

Karmaşıklığım, ne tür bir Koleksiyon, Harita veya aradığı nesnelerdir. Hangi formatta olmalılar? Özel olarak bir Dizi veya Dizi türü dizisi mi arıyorsunuz? Ben (yani yöntemleri, değişkenleri) geçerli olabilmesi için bu sırayla MyObject içinde olması ne olurdu,

List<MyObject> 

ve eğer öyleyse

kullanabilir miyim?

Ben MyObject kullanmaya çalıştığınızda

Halen, bildiren bir istisna olsun -

ConverterNotFoundException: Hayır dönüştürücü java.lang.String

yazmak için tip com.example.MyObject dönüştürme yeteneğine bulundu

Dönüştürücü yapmam gerekir mi? Bu nereye giderdi? Bu nasıl çalışır?

public class MyObject{ 
    private String company; 
    private Customer customer; 
    private Address customerAddress; 

    public String getCompany() { 
     return company; 
    } 

    public void setCompany(String company) { 
     this.company = company; 
    } 

    public Customer getCustomer() { 
     return customer; 
    } 

    public void setCustomer(Customer customer) { 
     this.customer = customer; 
    } 

    public Address getCustomerAddress() { 
     return customerAddress; 
    } 

    public void setCustomerAddress(Address customerAddress) { 
     this.customerAddress = customerAddress; 
    } 
} 
: Ben hata mesajı google'dan ve gerçekten yapmak istediğim şey özgü bir şey çıkmadı ...

MyObject sınıfı böyle görünüyor (Çoğu Roo hakkında sonuçlarıdır)

ve o şekilde kullanmaya çalışıyorum:

<form:select path="myObjectList"> 
    <form:option value="0"/> 
    <form:options items="myObjectList" /> 
</form:select> 

bilen var mı özellikle bu yöntemi hakkında yanlış nedir? Ya da, yaptığım şeyi gerçekleştirmek için

'u kullanmalı mıyım?

DÜZENLEME burada böyle bahar etiketiyle Yapıyorum yığın izleme >>http://pastebin.com/2c5XBCmG

cevap

20

Spring Documentation,'in items özniteliği hakkında bunu belirtir.etiketi:

ürün özellik tipik bir koleksiyon veya öğe nesnelerinin dizisi doldurulur.itemValue ve itemLabel, belirtildiyse, bu öğe nesnelerine ait fasulye özelliklerine başvurmalıdır; Aksi takdirde, nesnelerinin kendileri de belirtilecektir. Alternatif olarak, a Harita öğelerini belirtebilirsiniz, bu durumda harita tuşları seçenek değerleri olarak yorumlanır ve harita değerleri seçenek etiketlerine karşılık gelir. ItemValue ve/veya itemLabel öğelerinin de belirtilmesi durumunda, özellik değeri harita anahtarına uygulanır ve öğe etiketi özelliği harita değerine uygulanır. Özetle

, öğelerin de itemValue ve itemLabel özelliklerini kullanmak gerekir öznitelik olarak Özel Fasulye Listesini kullanmak gerekiyorsa. Kişisel olarak, seçim etiketlerimi doldurmak için Haritalar - LinkedHashMap örneklerini kullanmayı tercih ederim. Ancak bu bir zevk meselesi. Ben itemValue ve itemLabel hem de company özelliğini kullanıyorum

<form:select path="commandAttribute"> 
     <form:option value="-" label="--Please Select"/> 
     <form:options items="${countryList}" itemValue="company" itemLabel="company"/> 
</form:select> 

ancak sığacak özelliklerini seçmek özgürsünüz: Bahar Belgeler bir örnek uyarlamak

, kod aşağıdaki gibi görünmelidir ihtiyaçlarınız.

+0

Tamam, ihtiyacım olan şey bir itemValue ve itemLabel. ve gönderdiğim nesne listesinden alabilirim, değil mi? Durumumda: şirket MyObject sınıfındaki bir String'dir ve içindeki bir String'dir. Müşteri sınıfı ... Bu teoride çalışmalı, ama ... Bu hatayı hala almaya devam ediyorum ... – Hylianux

+0

Ne tür bir hata/istisna alıyorsunuz? –

+0

Orijinal soruda, ConverterNotFoundException olarak bahsettim. Yararlı olsaydı tam yığın izini orijinal gönderiye ekleyeceğim. Ayrıca burada yapıştırın >> http://pastebin.com/2c5XBCmG – Hylianux

1

mutad var:

<springform:select path="myObjectList" id="selected_company"> 
    <springform:option value="0" label="--- Select One ---"></springform:option> 
    <springform:options items="${myObjectList}" itemValue="company" itemLabel="company"></springform:options> 
</springform:select> 

ad alanı bildirimi dahil unutma: xmlns: springform = "http://www.springframework.org/tags/form"

İlgili konular