2011-08-22 12 views
18

Estoy usando Spring. Tengo un JSP con un formulario: seleccione en él mostrando la lista de usuarios. En esta situación, el nombre de usuario o ID no significará mucho para el usuario, así que necesito mostrar el apellido apellido.¿Es posible usar parámetros múltiples en el elemento? Etiqueta de un formulario: seleccionar/formulario: opción

que he probado:

<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> 

Pero eso me da un gran error. ¿Cómo puedo hacer que las etiquetas de los artículos muestren apellido, primer nombre?

Respuesta

38

No lo creo. O bien tienen un captador getFullName() en su objeto de devolver la concatenación de nombres última y la primera, o mostrar las opciones una por una, en un bucle:

<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> 

con la concatenación realizada por user.getFullName():

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

Por supuesto es tan simple, ¿por qué no pensé en eso? A entrar en mi objeto que devuelve la cadena concatenada. Creo que es hora de irme a la cama si me estoy perdiendo eso. – kasdega

+0

No es la forma más elegante en mi opinión. Intenta usar Spring Formatter. Proporciona una manera fácil de "transformar" sus objetos de cadenas en una forma a un objeto concreto –

+0

@sashok_bg Me encantaría ver un ejemplo de a lo que se refiere. Por favor, muéstrame cómo usar "Formateador de primavera" para hacer esto, ¡eso sería increíble! – kasdega

Cuestiones relacionadas