2011-08-22 13 views
18

Spring kullanıyorum. Form içeren bir JSP'm var: kullanıcı listesini görüntüleyen bir seçim. Bu durumda kullanıcı adı veya kimliği kullanıcı için çok fazla bir şey ifade etmeyecektir, bu yüzden firstname soyadını göstermem gerekiyor.Bir formun itemLabel öğesinde birden çok param kullanmak mümkündür: select/form: seçenek

<form:select id="userSelect" name="userId" path="user.id"> 
    <option value="">Select to Edit</option> 
    <form:options items="${user.userList}" itemValue="id" itemLabel="lastname firstname" /> 
</form:select> 

Ama bu bana büyük hata veriyor:

denedim. ItemLabels ismini nasıl gösterebilirim, firstname?

cevap

38

Sanırım öyle değil. Ya son ve ilk isimlerin birleştirme dönen sizin nesnede bir getFullName() getter varsa veya bir döngü içinde, tek seçenekleri birini görüntülemek: Elbette

<form:select path="user" 
    items="${user.userList}" 
    itemValue="id" 
    itemLabel="fullName"> 
</form:select> 
+0

: user.getFullName() tarafından gerçekleştirilen birleştirme ile

<form:select id="userSelect" name="userId" path="user.id"> <option value="">Select to Edit</option> <c:forEach var="theUser" items="${user.userList}"> <form:option value="${theUser.id}"><c:out value="${theUser.lastname} ${theUser.firstname}"/></form:option> </c:forEach> </form:select> 

onun kadar basit neden bunu düşünmedim! Birleştirilmiş dizgeyi döndüren nesneyi alma. Eğer bunu kaçırırsam yatak zamanı geldiğini düşünüyorum. – kasdega

+0

Benim düşünceme göre en zarif yol değil. Spring Formatter kullanmayı deneyin. Nesnelerinizi bir formdaki dizelerden somut bir nesneye dönüştürmenin kolay bir yolunu sağlar. –

+0

@sashok_bg Size atıfta bulunduğunuz şeyin bir örneğini görmek isterim. Lütfen, "yay biçimlendiricisini" nasıl kullanacağımı göster bana, bu harika olur! – kasdega

İlgili konular